Swift 无法从 parse.com 检索图像
Swift can't retrieve images from parse.com
我使用的是 Xcode 的 6.4,它工作正常,但是当我更新到 Xcode 7 时,似乎无法查询照片。
我在 table 视图中获取用户名,但图像未显示 我在模拟器上测试时遇到此错误 iPhone 5:
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.
当我在 iPhone 6 上测试它时,我得到了这个错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb)
并在这一行显示一条红线:
query.whereKey("user", equalTo: PFUser.currentUser()!.username!)
Apple 现在强制使用 HTTPS 连接,即 App Transport Security 消息。您仍在通过明文 HTTP 发送。
Apple 现在强制开发人员使用 ATS(HTTPS),但您可以在 info.plist 中添加此
来禁用它
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key><true/>
</dict>
应该是这样的
访问Apple docs for more details about ATS and please watch this WWDC video session
你的第二个问题在下面解释
如果用户注销,FPUser.currentUser
可以 return 零,并且您正在使用 !
强制解包,然后 calling username
,因此如果用户未登录,则 currentUser
将 return 为零,你最终会在 nil
上调用 username
,因此你会遇到这个崩溃,你应该这样做。
if let user = PFUser.currentUser()
{
query.whereKey("user", equalTo: user.username!)
}
else
{
// show login ui
}
我使用的是 Xcode 的 6.4,它工作正常,但是当我更新到 Xcode 7 时,似乎无法查询照片。
我在 table 视图中获取用户名,但图像未显示 我在模拟器上测试时遇到此错误 iPhone 5:
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.
当我在 iPhone 6 上测试它时,我得到了这个错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb)
并在这一行显示一条红线:
query.whereKey("user", equalTo: PFUser.currentUser()!.username!)
Apple 现在强制使用 HTTPS 连接,即 App Transport Security 消息。您仍在通过明文 HTTP 发送。
Apple 现在强制开发人员使用 ATS(HTTPS),但您可以在 info.plist 中添加此
来禁用它<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key><true/>
</dict>
应该是这样的
访问Apple docs for more details about ATS and please watch this WWDC video session
你的第二个问题在下面解释
如果用户注销,FPUser.currentUser
可以 return 零,并且您正在使用 !
强制解包,然后 calling username
,因此如果用户未登录,则 currentUser
将 return 为零,你最终会在 nil
上调用 username
,因此你会遇到这个崩溃,你应该这样做。
if let user = PFUser.currentUser()
{
query.whereKey("user", equalTo: user.username!)
}
else
{
// show login ui
}