我目前正在使用最新版本的 Parse 1.14.2 和 Bolts 1.8.4。Parse 已正确实现,并且我已经使用了很长时间。我现在面临的问题是当我尝试使用 Parse 的本地数据存储时。我的 AppDelegate.swift 中有以下代码:
Parse.enableLocalDatastore()
Parse.setApplicationId("ID",
clientKey: "Client_Key")
我有以下代码来创建和保存一个名为firstName
的类中的字符串contact
:
let contact = PFObject(className: "contact")
contact["firstName"] = "Jack"
contact.pinInBackground()
下面是从创建的类中检索对象的代码:
let query = PFQuery(className: "contact")
query.fromLocalDatastore()
query.getFirstObjectInBackgroundWithBlock({ (object, error) -> Void in
if error == nil {
if let contact = object {
print(contact.objectForKey("firstName"))
}
}
})
我已添加libsqlite3.dylib
到我的项目中。当我运行此代码时,我的应用程序不会崩溃,但当我尝试检索对象时它只会给我以下消息:
2016-08-29 11:31:38.049 App_Demo[14436:3504319] [Bolts] Warning: `BFTask` caught an exception in the continuation block.
This behavior is discouraged and will be removed in a future release.
Caught Exception: Method requires Pinning enabled.
谁能帮我解决这个问题?我猜问题是这个版本的 Bolts 不能在后台固定 Parse 对象,我需要解决这个错误。任何帮助将不胜感激,因为我已经坚持了一段时间并且无法在网上找到太多信息。
编辑:我曾尝试降级 Bolts,但随后 Parse 在 Cocoapod 中使用它降级,这会导致 Xcode 中的错误。