私は現在、最新バージョンの 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 をダウングレードしようとしましたが、Cocoapod で Parse をダウングレードすると、Xcode でエラーが発生します。