12

アプリ ストアに既に存在するアプリにコア データ付きの iCloud を追加するため、アップグレード シナリオをテストする必要があります。ただし、デバイスからアプリを削除して Xcode から再インストールすると、デバイスのユビキタス コンテナー フォルダー内のすべてが保持されていることに気付きました。私が指定したトランザクション ログ ディレクトリからファイルをアップロードしようとすると、iCloud が混乱し、タイムアウトになることが多いため、これは非常に厄介です。再び機能させるには、新しいトランザクション ログの場所を指定する必要がありますが、これは今後のテストでは明らかに機能しません。

以下は私が受け取るエラーです:

PFUbiquitySafeSaveFile waitForFileToUpload:: CoreData: Ubiquity: (0) permanentLocation: : /private/var/mobile/Library/Mobile Documents/XXXXXXXXXX~appnamegoeshere/DatabaseTransactionLogs/mobile.8A0C3F8A-4077-57D7-8250-6BE15D1BCD20/iCloudData/8u0BfiCwOkHHa~o8hF4bun zmdS_C8om5efuugxRaA=/receipt.0.cdt safeLocation: : /private/var/mobile/Library/Mobile Documents/XXXXXXXXXX~appnamegoeshere/DatabaseTransactionLogs/mobile.8A0C3F8A-4077-57D7-8250-6BE15D1BCD20/iCloudData/8u0BfiCwOkHHa~o8hAfuxW8Razome_CfuxW~8 mobile.8A0C3F8A-4077-57D7-8250-6BE15D1BCD20.0.cdt currentLocation: : /private/var/mobile/Library/Mobile Documents/XXXXXXXXXX~appnamegoeshere/DatabaseTransactionLogs/mobile.8A0C3F8A-4077-57D7-8250-6BE15D1BCD20/iCloudData/ 8u0BfiCwOkHHa~o8hF4bunW~zmdS_C8om5efuugxRaA=/mobile.8A0C3F8A-4077-57D7-8250-6BE15D1BCD20.0.cdt

kv: (ヌル)

ファイルの安全な保存に失敗しました。エラー: エラー Domain=NSCocoaErrorDomain Code=512 「ファイルのアップロードがタイムアウトしました。」UserInfo=0x1e5b6b10 {NSLocalizedDescription=ファイルのアップロードがタイムアウトしました。}

アプリのインストール間でユビキタス コンテナーをクリアする方法を知っている人はいますか? アプリの設定からユビキタス コンテナーを削除して再公開しても、この問題は解決されません。理論的には、アプリを削除してから iCloud ファイルを削除するだけで、この問題に遭遇する可能性があります。この問題は、問題の原因が何かを判断するのに本当にイライラしています。

4

2 に答える 2

7

頭をドキドキさせた後、私はこれを理解することができました。developer.icloud.com にアクセスして iCloud アカウントでログインすると、デバイスのすべての iCloud データを表示できると誰かが私に言いました。これでいくつかのテストを行ったところ、デバイスから削除するように指示したときに、iCloud サーバー上のデータがすぐに削除されていることがわかりました。ただし、アプリを削除しても、デバイスのユビキタス コンテナーに作成したフォルダーとファイルはすべて残りました。

私の回避策は、iCloud を初めて使用するためにアプリをセットアップするときに確認し、ディレクトリが既にユビキタス コンテナーにあるかどうかを確認することでした。そうである場合は、次のコードを使用して、ディレクトリとその中のすべてのファイルを手動で削除します。

 [fileManager removeItemAtPath:[[fileManager URLForUbiquityContainerIdentifier:nil] path] error:&error];
于 2013-02-10T19:23:11.300 に答える
2

これが、iCloud が機能するはずの方法です。1 つのデバイスでアプリを削除しても、iCloud データは自動的に削除されません。同じアカウントを使用する他のデバイスにアプリがインストールされている場合は、引き続きデータを使用できます。

テスト中に iCloud データを消去したい場合は、[設定] --> [iCloud] に移動し、アプリにドリルダウンしてデータを削除します。

于 2013-01-23T22:37:12.523 に答える