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スキームを動的に(ユーザーに指定させて)開けないようにするための処置だと思うんですが、慣れてないとちょっと面食らう話でした。
参考サイト
関連記事
-
-
ENMLからHTMLへの変換
最近EvernoteAPIをいじっているので、コレに関するノウハウをとりあえず断片的に引っかかったと
-
-
Xcode10からのimage literal / color literalの指定方法
アセットにあるUIImageの直接指定が可能なImage literalですが、気がついたらアセット
-
-
UITableViewCellのロングタップ
UITableViewCellをロングタップしたときに、タップされたセルを認識しつつメニューを出した
-
-
UIButtonのLocalizeに関するTips
Storyboardに設置したUIButtonのタイトルのLocalizeをしてたのですが、英語では
-
-
画面回転をしたあとに、UITextViewの先頭を表示する
回転によりサイズが可変するUITextViewで、縦向き(ポートレイト)から横向き(ランドスケープ)
-
-
Xcode8で余計なログを抑制する
Xcode8に更新してから、妙にログが増えたので、NSLogで明示したのと実行時エラー以外のログを吐
-
-
コードでiPhone6 Plusを識別する簡単な方法
表題の通り、コードでiPhone6 Plusを識別する簡単な方法です。 iPhone6 Plu
-
-
UISegmentedControlに見栄え良く背景色を設定する
UISegmentedControlをiOS7で使おうとすると、基本の背景色が「透明」になりますが、
-
-
Size ClassとUIViewController.view
タイトルの件でちょっとハマったことがある上に、特に日本語情報もStackOverflowからも情報が
-
-
NSDictionary/NSMutableDictionaryの”valueForKey:”と”objectForKey:”の違い
表題にある通り、似ていて混同する(そして、取り違えても「たいてい」普通に動作する)NSDiction
