なんか寝つけないので、ブログでも更新してみんとす。
ついこの間リリースされた「iOS9」で、カスタムURLスキームを使って別のアプリを呼び出そうとしてたんですよ。
でも、iOS9には痛い目に遭っているので(詳しくはまたいずれ)、今度は事前によーく調べてからにしようかなーと、検索してみましたら、こちらの記事がヒット。
【追記】iOS9でcanOpenURLを有効にする方法
えっなになに・・・「iOS9でcanOpenURLが使えなくなった」・・・。
ダメじゃん。きー!とか思ってたら、対処方法も書いてあった。ふんふん。
「Info.plist」に「LSApplicationQueriesSchemes」のキーと、アプリで許可するカスタムURLスキーマを登録すればいいらしい。
ふんふん。
で、このinfo.plist、XcodeでProperty Listとして値を編集することもできるようですが(というかこっちがデフォルト)、最近Xcodeがすっごく重くなってまして。
一度Property List表示で編集しようとしたら、画面が乱れてしまいました・・・
(;_;)
仕方ないので、Open AsのSource Listでソースとして開いて編集。
これなら問題ないやね。
というか、ワタシはもともとSGMLやらXMLのヒトなので、こっちの方がやりやすかったりする。
で、端末にカスタムURLスキーマを設定した自社アプリがあればそっちを起動するし、なければApp Storeのダウンロードページを表示するようにしてみた。
んー。上手くいかない(笑)
・・・最初は「canOpenURL」で分岐させてたんだけど、上手くいかないー。
ちょっと悩んだけど、もっと単純に考えたらあっさりできました。
要はデバイスのアプリをまず開いてみて、失敗したらストアに飛ばしゃいいのよ。うん。
この、何でもめんどくさく考える癖、直さなきゃな。
ということで、おやすみなさーい。
NSURL *url_store = [NSURL URLWithString:@"https://アプリストアのURL"];
NSURL *url_device = [NSURL URLWithString:@"CustomURLSchema://"];
if ([[UIApplication sharedApplication] openURL:url_device]) {
NSLog(@"OK");
} else {
[[UIApplication sharedApplication] openURL:url_store];
}
この、何でもめんどくさく考える癖、直さなきゃな。
ということで、おやすみなさーい。
0 件のコメント:
コメントを投稿