読者です 読者をやめる 読者になる 読者になる

pixyzehn blog

iPhone App, Mac App, Programming, Web service, Tool, Evernote, etc

iPhoneアプリにおけるカスタムURLスキームの実装

f:id:inagex:20140215165435p:plain


URLスキームは一度使ってしまうと手放せません。
その実装方法についてです。


URLスキームを使うことによって通知センターからアプリを起動したり、リマインダーアプリを用いて登録したりでき、URLスキームが必要なユーザーも一定数いるので出来る限り対応しておくべきだといえます。



まずはXcodeでカスタムURLを設定していきます。


Info>URL Typesにおいて登録をします。


f:id:inagex:20140215170119p:plain


上記の画像のように設定したのであれば


実機でビルドしてSafariのURLを入力する箇所にtaskey://(taskeyは各々のURLスキームに変更)と入力するとSafariから設定したアプリが起動するはずです。


URLスキームからアプリを立ち上げると

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL*)url;


のメソッドが呼ばれるのでURLスキームから起動した際の処理をここに記述します。

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL*)url {
    if ([url.scheme isEqualToString:@"taskey"]) {
        NSLog(@"%@ [%@|%@|%@|%@]", url, url.scheme, url.host, url.path, url.query);
        
        //ここに処理を書く

    }
}


こちらの記事に詳細はありますが、


Objective-C - Custom URL Schemeの処理をシンプルに書く - QiitaObjective-C - Custom URL Schemeの処理をシンプルに書く - Qiitaはてなブックマーク - Objective-C - Custom URL Schemeの処理をシンプルに書く - Qiita


基本的にqueryを受け取ってその値で入力やら検索をしているアプリが多いです。


Taskeyも

taskey://?text=samlpetaskとURLスキームを入力すると


sampletaskというタスクが挿入するというのを次のバージョンで実装したのでQuicka2などから使ってみてください。


こんな感じで設定して使ってもらえると嬉しいです!


f:id:inagex:20140215171112p:plain


またアップデートが申請完了次第、使い方については詳しく説明するつもりです。


Quicka2 - 検索を快適に App

価格: ¥100