在我的手表应用程序中,我需要创建一个urlsession。但是当我想连接到服务器时,xcode给了我错误
App Transport Security已阻止明文HTTP(http://)资源 负载,因为它是不安全的。可以通过配置临时例外 你的应用的Info.plist文件。
我尝试将ATS设置放在“Watch Ext”plist中。它不起作用。我也尝试将ATS设置放在“Container App”plist中。仍然出现同样的错误。
是什么给出了?
答案 0 :(得分:2)
似乎问题根本不是plist文件的位置。这是由于我如何在“例外域”中指定URL。
无论如何,要编辑的plist的位置在“Watch Extension”组中。如果您触摸“观看”组(故事板所在的组)中的那个,xcode将根本不会运行您的应用。会出现一些错误。
对于我的情况,我使用的URL有点特殊,例如:http://www.watch.com:90/(最后指定端口)。要使其工作,只需指定主域和结束部分即。
watch.com
就是这样。然后在此组中包含NSIncludesSubdomain
密钥。
答案 1 :(得分:0)
例外是“暂时的”,原因很简单,因为对于推迟采用ATS的人来说,它们将不再是一个可用选项。
您需要保护服务器,让您的服务提供商保护其服务器或切换提供商。
您应该尽快采用ATS,无论您是创建新应用还是更新现有应用。 如果您正在开发新应用,则应该专门使用HTTPS。
Apple宣布将要求HTTPS。对于所有Apple平台,包括watchOS在内,2017年1月1日将强制使用ATS。
此时,您提交的未采用ATS的任何(新的或更新的)应用程序将被拒绝。
答案 2 :(得分:0)
我使用iPhone应用程序目标操作系统版本为9.0,并将watchOS版本用作2.0。
我已添加以下关键iPhone应用程序的info.plist和watchkit扩展程序的info.plist
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
我成功地能够通过手机和手表发出http请求。
您可以查看样品 apple watch http request