iOS App HTTP 不安全调用在本地测试中有效,但在存档后失败

标签 ios swift xcode

两年前,我开发了一个 iOS 应用程序,它发出 HTTP 请求而不是 HTTPS 请求。我必须在 info.plist 中添加“允许任意加载”值才能使其正常工作。该应用程序已提交并上传到 App Store,到目前为止一直运行良好。

最近,我对应用程序的其他部分进行了一些改进,并提交了新版本。我在模拟器和 iPad 中测试了它,一切都运行良好,直到我将其存档并在 Xcode 中生成 IPA 文件。在同一设备中测试此文件,当我使用调用 HTTP 请求的函数时,请求会卡住并且永远不会结束。

当从 Xcode 测试时一切顺利,我看不到任何错误。任何想法?最近与此类调用相关的事情有变化吗?

更新

发现归档使用发布配置,并且我的测试是在调试中进行的,我开始使用不同的build设置并检测到启用构建选项中的“可测试性”选项使一切再次正常运行。该选项的 Xcode 描述是:

When this setting is activated, the product will be built with options appropriate for running automated tests, such as making private interfaces accessible to the tests. This may result in tests running slower than they would without testability enabled.

我不明白此选项与 HTTP 请求之间的关系...我可以在启用此选项的情况下上传应用吗?

最佳答案

由于没有发布其他答案,如果有人来这里寻找答案:我必须在发布构建选项中启用“可测试性”选项。对我来说,这看起来像是一个错误,也许这可以在未来的版本中得到纠正。

关于iOS App HTTP 不安全调用在本地测试中有效,但在存档后失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46077139/

相关文章:

ios - 简单的计算器应用程序,当我添加新按钮时出现 SIGABRT 错误

ios - 有没有办法跨计算机同步 Xcode 首选项和键盘快捷键?

ios - 在一周中的特定几天重复本地通知(Swift 3 IOS 10)

swift - 发送参数请求 Swift 3 Alamofire

ios - NSURLRequest swift 出现 fatal error 异常

ios - Apple Enterprise Developer Distribution Certificate 出现在钥匙串(keychain)中,而不是 Xcode Organizer 中

ios - 如何更改 UIAlertController 的 UIAlertAction 处理程序中的全局值(添加函数)?

ios - 为什么我的订阅的 "Share Your Information"警报显示发布者名称而不是应用程序名称?

ios - xcode 8 xcodebuild 从命令行为多个配置文件手动代码签名

ios - Xcode Swift : is being asked to animate its opacity. 这将导致效果出现损坏,直到不透明度返回到 1