Swift 无法从 parse.com 检索图像
Posted
技术标签:
【中文标题】Swift 无法从 parse.com 检索图像【英文标题】:Swift can't retrieve images from parse.com 【发布时间】:2015-08-16 18:45:47 【问题描述】:我使用的是 6.4 的 Xcode,它工作正常,但是当我更新到 Xcode 7 时,查询似乎不适用于照片。
我在表格视图中获取用户名,但在模拟器 iPhone 5 上测试时,图像未显示我收到此错误:
App Transport Security 已阻止明文 HTTP (http://) 资源加载,因为它不安全。可以通过应用的 Info.plist 文件配置临时异常。
当我在 iPhone 6 上测试它时,我得到了这个错误:
致命错误:在展开可选值时意外发现 nil (lldb)
并在这条线上显示一条红线:
query.whereKey("user", equalTo: PFUser.currentUser()!.username!)
【问题讨论】:
相关***.com/questions/32495059相关***.com/questions/32775234 【参考方案1】:Apple 现在强制开发人员使用 ATS(HTTPS),但您可以在 info.plist 中通过添加禁用它
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key><true/>
</dict>
应该看起来像这样
访问Apple docs了解有关ATS的更多详细信息,请观看WWDC video session
您的第二个问题在下面解释
FPUser.currentUser
可以在用户退出时返回 nil,而您使用 !
强制展开然后 calling username
,因此如果用户未登录,则 currentUser
将返回 nil,您最终将调用 @ nil
上的 987654331@,因此你遇到了这个崩溃,你应该这样做。
if let user = PFUser.currentUser()
query.whereKey("user", equalTo: user.username!)
else
// show login ui
【讨论】:
感谢您的回复,如果我删除了!
,我遇到了无法构建的错误,我该怎么办?
如果让你可以解决这个问题
如何将其添加到 info.plist ?我的 info.plist 看起来像这样:cut.by/GUhyY
添加新条目 NSAppTransportSecurity 并设置其类型 NSDictionary 然后添加一个项目 NSAllowsArbitraryLoads 并将其类型设置为布尔值并将其值设置为 true
谢谢你这么辛苦!我真的很感激,接受的答案:)【参考方案2】:
Apple 现在强制使用 HTTPS 连接,即 App Transport Security 消息。您仍在通过明文 HTTP 发送。
【讨论】:
感谢您的回复,我该怎么做?以上是关于Swift 无法从 parse.com 检索图像的主要内容,如果未能解决你的问题,请参考以下文章