1. ホーム
  2. ios

[解決済み] iOS 9でURL SCHEMEを持つInstagramアプリが開けない

2022-05-15 19:48:25

質問

iOS 8.3以下では以下のURLが開きますが、iOS 9では動きません。

let instagramURL = NSURL(string: "instagram://app")

URLが開かないのですが?

どのように解決するのですか?

iOS 9 では、URL スキームの処理に小さな変更が加えられました。アプリが呼び出す URL をホワイトリスト化する必要があります。 LSApplicationQueriesSchemes キーを使ってホワイトリスト化する必要があります。 Info.plist .

こちらの投稿をご覧ください。 http://awkwardhare.com/post/121196006730/quick-take-on-ios-9-url-scheme-changes

というのが主な結論です。

ホワイトリストにない URL に対して "canOpenURL" メソッドを呼び出すと、たとえこのスキームを処理するために登録されたアプリがインストールされていたとしても、"NO" が返されます。このアプリはスキーム xxx に対するクエリーを許可されていません」という syslog エントリが表示されます。

ホワイトリストにない URL で "openURL" メソッドを呼び出すと、無言で失敗します。This app is not allowed to query for scheme xxx" syslogエントリーが表示されます。

著者はまた、これは OS のバグであり、Apple は次のリリースでこれを修正するのではないかと推測しています。