*

iOS9でURLスキームを登録する

公開日: : 最終更新日:2015/12/18 Tips , ,

私事ですが、iOS8から対応はしたいということで検証用に使っている自分のiPhoneもiOS8でがんばってたのですが、レポートでiOS9実機での問題が出たのでiOS9に・・・そしたらアクティベーションエラー(開発実機なので、iPhoneの契約は解約してた)が発生、アクティベート用のSIMの入手に奔走するなど波乱があったりしました。

その過程でURLスキームでも問題が出たので、情報を仕入れて備忘録としてTipsにしたいと思います。

現象と対応

iOS9以降では、単純にURLスキームを開けるかどうかを聞くcanOpenURLメソッドを実行すると、ログにエラーを吐きつつ常にNOを返すようになっているようです。
これに対応するには、Info.plistに設定を書く必要があるようです。
キー値:LSApplicationQueriesSchemes
種類:Array
で新しいキーを作り、その下にStringでURLスキーム(「****://」の****の部分だけ)を列挙するような形になります。
例えばfacebook(fb://)であれば「fb」と書いてやるわけです。
おそらくAppleが審査で利用するためか、アプリからURLスキームを動的に(ユーザーに指定させて)開けないようにするための処置だと思うんですが、慣れてないとちょっと面食らう話でした。

参考サイト

抹茶のメモ帳/【追記】iOS9でcanOpenURLを有効にする方法

関連記事

plistファイルに色を入れる

plistファイル中にUIColorを入れたい!という場合。普通RGBAの値を数値で入れるとかするけ

記事を読む

NSDictionary/NSMutableDictionaryの”valueForKey:”と”objectForKey:”の違い

表題にある通り、似ていて混同する(そして、取り違えても「たいてい」普通に動作する)NSDiction

記事を読む

アプリ内で自動スリープの設定を無効化する

「設定」アプリ内で設定したスリープ時間設定を無効にするためのコード。 アプリがバックグラウンドにな

記事を読む

実機テストしたときのデータを取り出す

Xcodeでコンパイルして実機テストしている場合に、テストデータを実機から取り出す方法です。 以下

記事を読む

Xcode10からのimage literal / color literalの指定方法

アセットにあるUIImageの直接指定が可能なImage literalですが、気がついたらアセット

記事を読む

UITableViewCellのロングタップ

UITableViewCellをロングタップしたときに、タップされたセルを認識しつつメニューを出した

記事を読む

RealmのListとArrayの相互変換によるマップ

 Realm+ObjectMapperを使って、RealmのオブジェクトをJSON変換してたのですが

記事を読む

NSAttributedStringをローカライズする方法

NSAttributedStringをLocalizeするうまい方法はないものかと探したら、これが手

記事を読む

UITableViewのヘッダに小文字を入れる

UITableViewのセクションヘッダをStoryboardでカスタマイズするという話題を以前掲載

記事を読む

viewDidLoadとviewDidLayoutSubviewsのタイミング

真実の記事にある「コードでiPhone6を識別する」話とほんのちょっとだけ繋がっている話で、view

記事を読む

Xcode10からのimage literal / color literalの指定方法

アセットにあるUIImageの直接指定が可能なImage litera

Xcode11でのバージョン番号の取得方法

Xcode11になってバージョン番号をスクリプトから得て自動で更新する

GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法

情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初

画面回転をしたあとに、UITextViewの先頭を表示する

回転によりサイズが可変するUITextViewで、縦向き(ポートレイト

NXDrawKitを導入してみる

ACEDrawingViewがObj-Cで書かれていて、いまいちメンテ

→もっと見る

    PAGE TOP ↑