2017-02-15 17 views
0

iOS 9では、新しいセキュリティとプライバシー対策が導入されています。そのような措置の1つは、canOpenURLの悪用がユーザがインストールしたAppsを発見するのを防ぐことです。ホワイトリストURLスキームの回避策

アップルはURLスキームのクエリを制限します。 iOS 9+ SDKをビルドしてリンクする場合は、スキームをホワイトリストに登録する必要がありますあなたのアプリはクエリを実行します。

開発時に私のアプリケーションから開く予定のアプリケーションのリストが不明な場合があります。

回避策はありますか?

+0

ホワイトリストはメインバンドルの 'info.plist'で設定されており、実行時には編集できません。これは、メインバンドルが読み取り専用であるためです。あなたはあなたのアプリを提出する前にホワイトリストを提供する必要があります。 – rckoenes

+0

はい、同時に、開発時に正確に知らなくても、他のアプリを呼び出して解決策を見つけたアプリ(Launch Center Proなど)があります。私は**エンタープライズライセンス**(Appstoreディストリビューション外)と一緒に使用します –

+0

あなたはそれらを尋ねるべきです。デフォルトのSDKでは不可能なのでいくつかのプライベートAPIを使用できるかもしれませんが、私はあなたにこれを手伝うことはできません。 – rckoenes

答えて

2

このArticleによれば、openURLで開くにはInfo.plistに記載されているスキームを持つ必要はありません。このメカニズムは、openURLではなくcanOpenURLにのみ適用されます。

+0

それはForMediaとInWebContentのためです –

+0

あなたのアプリのInfo.plistファイルでこのキーの値を設定することで、ネットワーク接続のセキュリティをさまざまな方法でカスタマイズできます。次のことができます、このような証明書の透明性https://developer.apple.com/libraryなどの新しいセキュリティ機能を有効に にアプリ内の他の場所でATSの保護を維持しながら、 は、ウェブビューまたはメディアのための安全でないロードを許可 特定のサーバーとの安全でない通信を許可します/prerelease/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html –

+0

@VityaShurapov私は答えを更新しました。これが役に立ったら教えてください。 –