IOS 9に含まれる新しい [〜#〜] ats [〜#〜] により、http関連の機能の多くが機能しなくなります。すべてのhttpリクエストURLをホワイトリストに追加する必要があります。または、NSAllowsArbitraryLoads
をYES
に設定してATSを無効にすることもできます。
NSAllowsArbitraryLoads
がYES
に設定されている場合、App Storeが提出を拒否するかどうか誰かが知っていますか?
更新:Appleは、2016年12月末以降、ATSに準拠していないアプリを拒否します。
ただし、http://
リソースをWeb(UIWebView/WKWebView/SafariViewController)でのみロードする必要がある場合は、以下で十分です。
注:このキーはiOS 10からのみ使用できます
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
</dict>
みんなの答えをありがとう。
良いニュースはApple Accepted
NSAllowsArbitraryLoads
をYES
に設定した私のアプリです。
[〜#〜] update [〜#〜] (@Vijaytsに感謝):Appleは、2016年12月末以降、ATSに準拠していないアプリを拒否します。
ただし、Web(UIWebView/WKWebView/SafariViewController)でのみhttp://リソースをロードする必要がある場合は、以下で十分です。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
</dict>
Appleが計画を変更したようです:
App Transport Securityのサポート
準備に追加の時間を与えるために、この期限が延長されました。新しい期限が確認されたときに、別の更新を提供します。 https://developer.Apple.com/news/?id=12212016b
Apple NSAllowsArbitraryLoads
についての最新情報は2016年12月でした。 https://developer.Apple.com/news/?id=12212016b
Appleはまだ新しいアプリとアップデートを受け入れています。新しいアプリは2017年4月にNSAllowsArbitraryLoads
をYES
に設定して承認されました。私も最近更新を提出しました。問題はなく、拒否もありません。
NSURLConnection、CFURL、またはNSURLSession APIを使用するすべての接続は、iOS 9.0以降およびOS X 10.11以降用にビルドされたアプリでのApp Transport Securityのデフォルトの動作を使用します。要件に従わない接続は失敗します。
ただし、アプリまたは拡張機能のInfo.plistファイルで、デフォルトの動作に対する例外を指定できます。特定の例外について、またはApp Transport Securityをオフにするには、プロパティリストのキーを使用します。表1-1はキーとそのタイプを示し、インデントを使用して構造を示します。
これがソースリンクです: https://developer.Apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/index.html
ユーザーが実行中にWebビューに表示されるURLを指定できるアプリがあります。このURLはHTTP
URLの場合があります。このため、NSAllowsArbitraryLoads
をyesに設定しています。
2016年12月以降にこのアプリのアップデートを送信しましたが、問題はありませんでした。
私のplistではNSAllowsArbitraryLoadsInWebContent
も指定しています。また、TLSがサポートされている場所でアプリが使用する既知のWebサービスに対してTLSをアクティブにする例外を指定しています。
私のアプリはiOS 9でサポートされているため、NSAllowsArbitraryLoadsInWebContent
では不十分であることを説明するレビューノートを含めました。
私はこれについてのアプリレビューからの質問さえありませんでした。