iOS9でURLスキームを登録する
公開日:
:
最終更新日:2015/12/18
Tips Info.plist, iOS9, URLスキーム
私事ですが、iOS8から対応はしたいということで検証用に使っている自分のiPhoneもiOS8でがんばってたのですが、レポートでiOS9実機での問題が出たのでiOS9に・・・そしたらアクティベーションエラー(開発実機なので、iPhoneの契約は解約してた)が発生、アクティベート用のSIMの入手に奔走するなど波乱があったりしました。
その過程でURLスキームでも問題が出たので、情報を仕入れて備忘録としてTipsにしたいと思います。
現象と対応
iOS9以降では、単純にURLスキームを開けるかどうかを聞くcanOpenURLメソッドを実行すると、ログにエラーを吐きつつ常にNOを返すようになっているようです。
これに対応するには、Info.plistに設定を書く必要があるようです。
キー値:LSApplicationQueriesSchemes
種類:Array
で新しいキーを作り、その下にStringでURLスキーム(「****://」の****の部分だけ)を列挙するような形になります。
例えばfacebook(fb://)であれば「fb」と書いてやるわけです。
おそらくAppleが審査で利用するためか、アプリからURLスキームを動的に(ユーザーに指定させて)開けないようにするための処置だと思うんですが、慣れてないとちょっと面食らう話でした。
参考サイト
関連記事
-
-
”No Scheme”になってしまった場合の対応
知人がXcodeで突然「No Scheme」表示になってRunするターゲットとデバイスが選択できない
-
-
Bitbucket課題の記法サンプル
Bitbucketの課題、およびwikiで利用できる記法についての記事です。 利用できる記法に
-
-
iOS9でのNSFetchedResultsContollerDelegateの挙動
ハマったので短いながらメモしたいと思います。 NSFetchedResultsContollerD
-
-
WSCoachMarksViewをSwiftで使う場合の手順
Objective-Cで記述されてるライブラリ全般に当てはまることもあるんですが、個別でやることも含
-
-
アプリ内で自動スリープの設定を無効化する
「設定」アプリ内で設定したスリープ時間設定を無効にするためのコード。 アプリがバックグラウンドにな
-
-
UIButtonのLocalizeに関するTips
Storyboardに設置したUIButtonのタイトルのLocalizeをしてたのですが、英語では
-
-
ソースコードからStoryboardにアクセスする
複数のStoryboardを利用して、自分以外のStoryboardに遷移させるような展開をしたい場
-
-
User Defined Runtime Attributeについての覚書
UILabelに上下左右のパディングをつける方法を探して、結局「自分で以下のようなメソッドを持った拡
-
-
iOSシミュレータの帯域制限をテストする
iOSシミュレータで通信帯域制限をテストしたいと思ったんですが、Xcode8からXcode7.xとは
-
-
NSStringのフォーマット書式
Appleのページになく、IEEEのprintfフォーマットのページにあるので、C言語と親しくしてな