观看OS2和NSURLSession

时间:2016-05-21 11:19:43

标签: https nsurlsession watch watch-os-2

我制作了一个嵌入式Web服务器的家庭自动化控制器,让用户通过Web界面和API控制他们的设备。我也在制作Apple Watch应用程序,因为OS1主要从iPhone检索用户ID和密码,然后从控制器下载一个plist并显示信息。我依靠NSURLSession将plist通过LAN连接到控制器,但是因为Watch OS2 NSURLSession只允许我的家庭自动化控制器无法提供的https连接。在这种情况下,让Apple Watch从控制器获取plist的任何替代方法?

谢谢!

1 个答案:

答案 0 :(得分:0)

与iOS 9一样,watchOS 2使用App Transport Security来强制实施安全连接。

  

从iOS 9.0和OS X v10.11开始,应用程序可以使用名为App Transport Security(ATS)的新安全功能,默认情况下已启用。它通过对基于HTTP的网络请求实施额外的安全要求,提高了应用程序和Web服务之间连接的隐私和数据完整性。具体而言,启用ATS后,HTTP连接必须使用HTTPS(RFC 2818)。尝试使用不安全的HTTP进行连接失败。

由于Web服务器在您的控制之下,因此正确的方法是在您的服务器上启用安全的HTTPS连接。

如果你不能或不会启用它,你可以通过在你的(watchKit扩展名)Info.plist中添加适当的NSAppTransportSecurity密钥来规避iOS / watchOS强制执行的安全性。

这将允许从手表到您的服务器的不安全连接。