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スキームを動的に(ユーザーに指定させて)開けないようにするための処置だと思うんですが、慣れてないとちょっと面食らう話でした。
参考サイト
関連記事
-
-
HTMLParserを修正する
HTMLスクレイピングしてる時に役立つライブラリであるObjective-C-HMTL-Parser
-
-
アプリ内で自動スリープの設定を無効化する
「設定」アプリ内で設定したスリープ時間設定を無効にするためのコード。 アプリがバックグラウンドにな
-
-
実機テストしたときのデータを取り出す
Xcodeでコンパイルして実機テストしている場合に、テストデータを実機から取り出す方法です。 以下
-
-
Xcode5.1のInterfaceBuilderにおける地味な変更点
iOS7.1に合わせてXcode5.1がリリースされました Xcode Release N
-
-
preferredContentSizeをUINavigationContorllerのPop時に再設定する
popoverで表示しているViewControllerのサイズを、他のViewController
-
-
RealmのList
とArray の相互変換によるマップ Realm+ObjectMapperを使って、RealmのオブジェクトをJSON変換してたのですが
-
-
NSAttributedStringをローカライズする方法
NSAttributedStringをLocalizeするうまい方法はないものかと探したら、これが手
-
-
iPadのUIModalPresentationFormSheetでキーボードが閉じない
iPadでUIModalPresentationFormSheet(全画面ではなく、中央にフロートし
-
-
WSCoachMarksViewをSwiftで使う場合の手順
Objective-Cで記述されてるライブラリ全般に当てはまることもあるんですが、個別でやることも含
-
-
UIActionSheetが消えるときにキーボード表示/非表示通知が来る
UITextViewやUITextField編集中にアクションシートを表示すると、アクションシート
