8

Core Dataand iCloud(Magical Records を使用) を使用するアプリのテストを開始しました。Provisioning Profiles構成と資格に多くのトラブルが発生した後、アプリは最終的に実行されます。しばらくすると、アプリがクラッシュし、次のメッセージがスローされます::

2012-12-31 03:42:07.079 iCloudTest[252:1103] -[PFUbiquitySafeSaveFile waitForFileToUpload:](268): CoreData: Ubiquity:  <PFUbiquityPeerReceipt: 0x1cd5a420>(0)
permanentLocation: <PFUbiquityLocation: 0x1cd57b30>: /private/var/mobile/Library/Mobile Documents/MA5BADG5AW~com~gazapps~iCloudTest/mobile.4088E03C-763E-5A81-BB1B-64CABAFA73E3/com.gazapps.iCloudTest/v8GumdiUYmkE0aO9iGtPTPHX07qqWk7kRytsQwHKjwU=/receipt.0.cdt
safeLocation: <PFUbiquityLocation: 0x1cd57a80>: /private/var/mobile/Library/Mobile Documents/MA5BADG5AW~com~gazapps~iCloudTest/mobile.4088E03C-763E-5A81-BB1B-64CABAFA73E3/com.gazapps.iCloudTest/v8GumdiUYmkE0aO9iGtPTPHX07qqWk7kRytsQwHKjwU=/mobile.4088E03C-763E-5A81-BB1B-64CABAFA73E3.0.cdt
currentLocation: <PFUbiquityLocation: 0x1cd57a80>: /private/var/mobile/Library/Mobile Documents/MA5BADG5AW~com~gazapps~iCloudTest/mobile.4088E03C-763E-5A81-BB1B-64CABAFA73E3/com.gazapps.iCloudTest/v8GumdiUYmkE0aO9iGtPTPHX07qqWk7kRytsQwHKjwU=/mobile.4088E03C-763E-5A81-BB1B-64CABAFA73E3.0.cdt

kv: (null)

Safe save failed for file, error: Error Domain=NSCocoaErrorDomain Code=512 "The file upload timed out." UserInfo=0x1cd5b7d0 {NSLocalizedDescription=The file upload timed out.}
2012-12-31 03:42:07.083 iCloudTest[252:1103] +[MagicalRecord(ErrorHandling) defaultErrorHandler:](0xe5ac0) Error: The file upload timed out.
2012-12-31 03:42:07.085 iCloudTest[252:1103] +[MagicalRecord(ErrorHandling) defaultErrorHandler:](0xe5ac0) Error Message: The file upload timed out.
2012-12-31 03:42:07.086 iCloudTest[252:1103] +[MagicalRecord(ErrorHandling) defaultErrorHandler:](0xe5ac0) Error Domain: NSCocoaErrorDomain
2012-12-31 03:42:07.087 iCloudTest[252:1103] +[MagicalRecord(ErrorHandling) defaultErrorHandler:](0xe5ac0) Recovery Suggestion: (null)
2012-12-31 03:42:07.089 iCloudTest[252:907] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array'
*** First throw call stack:
(0x3a7702a3 0x3465f97f 0x3a6bae8d 0xdd453 0x38a6311f 0x38a624b7 0x38a671bd 0x3a743f3b 0x3a6b6ebd 0x3a6b6d49 0x38a842eb 0x338f62f9 0xd101d 0x37f22b20)
libc++abi.dylib: terminate called throwing an exception

この方法を使用して、Core Data Stack をセットアップしました。

[MagicalRecord setupCoreDataStackWithiCloudContainer:@"XXXXXXXX.com.gazapps.iCloudTest" localStoreNamed:@"PersonDB.sqlite"];

誰もこの問題を抱えたことがありますか?

Enviroment:
OSX 10.8.2,
Xcode 4.5.2,
app -> iOS 6,
device -> iPhone 4S
4

1 に答える 1

13

はい、思い出したくありません。

これが意味することは、Core Data の内部があいまいで文書化されていない方法で iCloud に接続できなかったことです。回復方法や修正方法はありません。後でもう一度試すだけです。これらのエラーは Magical Record やコードに起因するものではなく、Core Data / iCloud の内部エラーです。

ここに問題があります。これは、何か間違ったことをしたという意味ではありません。その当然の結果として、それを修正するためにできることは何もありません。Core DataでiCloudを使用している場合、これは時々発生し、対処する必要があります. バグを報告し、あなたが信じている神々に、いつか修正されるように祈ってください。Core Data with iCloud は根本的に不安定であり、最も気が狂った部分の 1 つに遭遇しています。

場合によっては、もう一度電話をかけてみてください。しかし、Magical Record は を返すvoidため、コードの失敗を検出することは、期待するほど単純ではありません。

テスト中は、アプリのすべてのデータを iCloud から削除して、クリーンな状態から始めると役立つ場合があります。これは iOS の [設定] --> [iCloud] --> [ストレージとバックアップ] --> [ストレージの管理] --> (アプリ名はこちら) --> [編集] --> [すべて削除] で行います。また、http://developer.icloud.com/ をチェックして、クラウドに何があるかを確認してください。また、問題が発生した場合は、デバイスからアプリを削除して、古いデータが残らないようにしてください。

于 2012-12-31T18:33:22.037 に答える