如果NSAllowsArbitraryLoads设置为YES,App Store是否拒绝提交?

时间:2015-07-21 08:46:49

标签: ios app-store ios9

iOS 9涉及的新ATS导致许多与http相关的功能停止运行。我必须将所有http请求网址添加到白名单中,或者我可以通过将NSAllowsArbitraryLoads设置为YES来禁用ATS。

如果NSAllowsArbitraryLoads设置为YES,是否有人知道App Store是否拒绝提交?

6 个答案:

答案 0 :(得分:18)

感谢大家的回答。

好消息是Apple Accepted我的应用NSAllowsArbitraryLoads设置为YES

UPDATE(谢谢@Vijayts): Apple将在2016年12月底之后拒绝不符合ATS的应用程序。

Source

但是,如果只需要在web(UIWebView / WKWebView / SafariViewController)中加载http://资源,则以下内容就足够了。

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoadsInWebContent</key>
    <true/>
</dict>

答案 1 :(得分:14)

更新:Apple将在2016年12月底之后拒绝不符合ATS的应用程序。

Source

但是,如果只需要在web(UIWebView / WKWebView / SafariViewController)中加载http://资源,则以下内容就足够了。

注意:此密钥仅适用于iOS 10。

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoadsInWebContent</key>
    <true/>
</dict>

答案 2 :(得分:7)

Apple似乎已经改变了计划:

  

支持应用传输安全性

     

为了给你额外的准备时间,这个截止日期已经过去了   延长,我们将在新的截止日期后提供另一次更新   证实。   https://developer.apple.com/news/?id=12212016b

答案 3 :(得分:4)

最近我们从Apple获悉NSAllowsArbitraryLoads是在2016年12月。 https://developer.apple.com/news/?id=12212016b

Apple仍在接受新的应用和更新。我的新应用已于2017年4月获得批准,NSAllowsArbitraryLoads设置为YES。我最近也提交了更新,没有问题没有拒绝。

答案 4 :(得分:2)

使用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

答案 5 :(得分:0)

我有一个应用程序,允许用户指定在执行期间在Web视图中显示的URL。此网址可能是HTTP网址。出于这个原因,我将NSAllowsArbitraryLoads设置为是。

我已在2016年12月之后提交了此应用的更新,并且没有任何问题。

我的plist还指定了NSAllowsArbitraryLoadsInWebContent,并指定了激活TLS的例外,以便我的应用在支持TLS的情况下使用已知的Web服务。

我只是添加了一条评论说明,解释说NSAllowsArbitraryLoadsInWebContent是不够的,因为iOS 9支持我的应用。

我从来没有在应用评论中提出过这个问题。