ios - 由于 App 传输安全性,Parse-Server 未下载 PFFile

标签 ios mongodb parse-platform app-transport-security parse-server

我正在从 Parse 的后端迁移到 Heroku 和 MongoDB 上的 Parse-server。

有了这个新的后端更改,我的一切工作都很顺利(包括加载 PFFiles),但是,我现在在添加 FACEBOOK_APP_ID 参数后遇到错误,但是,这可能不是原因。

每当我尝试加载 PFFile(图片)时,我都会在日志中收到以下消息:

App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.
2016-02-20 19:55:48.242 HoopMaps[35976:682425] [Error]: The resource could not be loaded because the App Transport Security policy requires the use of a secure connection. (Code: 100, Version: 1.12.0)
2016-02-20 19:55:48.243 HoopMaps[35976:682425] [Error]: Network connection failed. Making attempt 1 after sleeping for 1.730434 seconds.
2016-02-20 19:55:50.137 HoopMaps[35976:682402] [Error]: The resource could not be loaded because the App Transport Security policy requires the use of a secure connection. (Code: 100, Version: 1.12.0)
2016-02-20 19:55:50.138 HoopMaps[35976:682402] [Error]: Network connection failed. Making attempt 2 after sleeping for 3.460868 seconds.
2016-02-20 19:55:53.857 HoopMaps[35976:682403] [Error]: The resource could not be loaded because the App Transport Security policy requires the use of a secure connection. (Code: 100, Version: 1.12.0)
2016-02-20 19:55:53.857 HoopMaps[35976:682403] [Error]: Network connection failed. Making attempt 3 after sleeping for 6.921736 seconds.
2016-02-20 19:56:01.162 HoopMaps[35976:682821] [Error]: The resource could not be loaded because the App Transport Security policy requires the use of a secure connection. (Code: 100, Version: 1.12.0)
2016-02-20 19:56:01.162 HoopMaps[35976:682821] [Error]: Network connection failed. Making attempt 4 after sleeping for 13.843473 seconds.
2016-02-20 19:56:15.264 HoopMaps[35976:682785] [Error]: The resource could not be loaded because the App Transport Security policy requires the use of a secure connection. (Code: 100, Version: 1.12.0)

虽然我可以禁用 ATS,但这是一种不好的做法,我更愿意使用 HTTPS。此外,错误代码为“100”,但我可以连接到我的服务器并检索对象和用户数据。

如何在保留 HTTPS 的同时使用 Parse-server 加载 PFFiles?

最佳答案

最好的办法是为您的 API 获取 SSL 证书,但如果这不可能,暂时的解决方法是将您的域添加为 ATS 的异常(exception)。

这样,您就不需要完全禁止 ATS(正如您所指出的,这是一种不好的做法),但您的应用仍将允许来自您的域的不安全调用。

为此,请打开您的 Info.plist 文件并添加 App Transport Security Settings。然后选择 Exception Domains 并将您的域添加到列表中。

App Transport Security Settings

Exception Domains

这就是您的 Info.plist 在结尾处的样子:

Your domain

关于ios - 由于 App 传输安全性,Parse-Server 未下载 PFFile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35532231/

相关文章:

node.js - 如何在 mongoose 5.x.x 中使用 arrayFilters?

windows - 无法运行 'mongod' 命令,表示无法识别

在客户端创建 MongoDB ObjectId

xcode - 如何使解析查询同步快速

ios - PFQuery:无法从解析数组中获取 objectId

ios - 在后台停止音频

android - 如何在平板电脑中打开数字键盘以输入类型文本

ios - Meteor:在 iOS 上点击电话号码时禁用自动调用

ios - 解析云代码错误 : success/error was not called (Code: 141, 版本 : 1. 9.0)

ios - 如何在iOS中制作通用框架?