无法从应用商店访问 ios 中的任何网络服务

Can't access any web service in ios from app store

我在我的应用程序中使用了 NSURLConnect 来启动网络服务连接。我知道苹果从 ios 9.0 开始就弃用了这个接口,为了更安全,同时它也说了一种支持 http 的方法(在 xcode 配置中添加一些参数以禁止 ATS)。我完全按照它说的做了,当我开发时它 运行 很好(使用 usb 连接到 ipad which 运行 in ios 9)。

我的应用是为内网环境设计的。我在提交给苹果的时候上传了一个详细介绍的视频,因为他们肯定无法连接到我的服务器。很好,他们批准了我的应用程序。

现在我很高兴地说我的应用程序可以销售了。但是当我从应用程序商店和 运行 设置它时,奇怪的事情发生了,它无法连接到服务器!通过日志我看到原因是 NSURLConnect sendSynchronousRequest 没有成功发送字节。为什么通过开发它 运行 很好,我确定我提交的代码是相同的,并且 ipad 是 运行 和 ios 9.

我想我可能在上传过程中做错了什么。我的开发环境有一些信息:

  1. Xcode 7.2
  2. 部署目标 8.0
  3. 基础 SDK ios9.2(最新)
  4. 仅构建活动架构 调试是 发布号

    我使用xcode存档上传。顺便说一句,我在 ipad 运行 中测试过 ios 8.2 也是不对的。

从 9.0 开始,Apple 将 ssl 作为一项要求,但同时提供了一个解决方法。

确保您的 Info.plist 文件中添加了 NSAppTransportSecurity。 此示例将允许您建立任何连接。

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>