今後のアップデートで、iOSアプリはデータをiCloudのテキストファイルにエクスポートし、そこからデータをインポートすることになっています。実装はほぼ完了し、ベータテストを開始しました。ベータテスターの1人を除いて、すべてが正常に機能しているようです。
TestFlight APIによって収集されたデバッグ出力から収集したものは、テスターの1人がなんとかしてファイルをUIDocumentStateSavingError
状態にすることができました。これまでのところ、彼に何を試してもらいても、ファイルをその状態からポップすることはできませんでした。
これは、テスターのデバイスで発生することです。
- iCloudアクセスはを使用して正常に検出され
URLForUbiquityContainerIdentifier
ます。 - ファイルの
NSMetadataQuery
検索が開始され、1つの結果が返されます。 - のサブクラスは、
UIDocument
を使用して結果のURLに対して作成されますinitWithFileURL:
。 - ドキュメントは
UIDocumentStateSavingError
状態です。また、これが設定される唯一の状態フラグです。 - の呼び出し
openWithCompletionHandler:
は失敗をハンドラーに返し、loadFromContents:ofType:error:
上の呼び出しUIDocument
は呼び出されません。
次に、次のように続く新しいバージョンのアプリを作成しました。
- アプリは、を使用してエラーのあるファイルを削除しようとします
[[NSFileManager defaultManager] removeItemAtURL:doc.fileURL error:&err]
。 - 結果
NSError
は、「操作を完了できませんでした。そのようなファイルまたはディレクトリはありません」を示しています。
ファイルの削除は、ファイルの状態を解決するために私たちが思いついた最後のことでした。これを解決する方法や、そもそもエラーの原因となる可能性のあるものについてのヒントをいただければ幸いです。