如果NSAllowsArbitraryLoads设置为YES,App Store是否拒绝提交?
iOS 9涉及的新的ATS导致大量的http相关function停止工作。 我必须将所有http请求url添加到白名单中,或者我可以通过将NSAllowsArbitraryLoads
设置为YES
来禁用ATS。
如果NSAllowsArbitraryLoads
被设置为YES
是否有人知道App Store是否会拒绝提交?
更新:苹果将在2016年12月底之后拒绝不符合ATS的应用。
资源
但是,如果您只需要在Web(UIWebView / WKWebView / SafariViewController)中加载http://
资源,那么以下内容就足够了。
注:该密钥只能从iOS 10中获得。
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoadsInWebContent</key> <true/> </dict>
感谢大家的回答。
好消息是苹果Accepted
我的应用程序NSAllowsArbitraryLoads
设置为YES
。
更新 (谢谢@Vijayts):苹果将在2016年12月底之后拒绝不符合ATS的应用。
资源
但是,如果您只需要在Web(UIWebView / WKWebView / SafariViewController)中加载http://资源,那么以下内容就足够了。
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoadsInWebContent</key> <true/> </dict>
看来苹果已经改变了计划:
支持应用程序传输安全
为了给您额外的时间准备,这个截止date已经延长了,我们会在确定一个新的截止date时提供另一个更新。 https://developer.apple.com/news/?id=12212016b
最近我们从苹果公司了解到NSAllowsArbitraryLoads
是在2016年12月。https://developer.apple.com/news/? NSAllowsArbitraryLoads
= NSAllowsArbitraryLoads
苹果仍然接受新的应用程序和更新。 我的新应用程序已于2017年4月获得批准, NSAllowsArbitraryLoads
设置为YES
。 我最近也提交了更新,没有问题没有拒绝。
所有使用NSURLConnection,CFURL或NSURLSession API的连接都使用适用于iOS 9.0或更高版本以及OS X 10.11或更高版本的应用程序中的App Transport Security默认行为。 不符合要求的连接将失败。
但是,您可以在应用程序或扩展的Info.plist文件中指定默认行为的例外。 使用属性列表中的键以指定特例或closuresApp Transport Security。 表1-1显示了键和它们的types,并使用了缩进来表示结构。
这里是源代码链接: 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的例外。
我只是简单地包含了一个评论说明,解释说NSAllowsArbitraryLoadsInWebContent
是不够的,因为我的应用程序在iOS 9上受支持。
我甚至从来没有从应用程序审查这个问题。