【问题标题】:Watch OS2 and NSURLSession观看 OS2 和 NSURLSession
【发布时间】:2016-09-18 15:16:31
【问题描述】:

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

谢谢!

【问题讨论】:

    标签: https nsurlsession watch watchos-2


    【解决方案1】:

    与 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 连接失败。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-19
      • 1970-01-01
      相关资源
      最近更新 更多