私は今iCloudをアプリに追加しており、アップグレードシナリオをテストできるようにするには、時々iCloudストレージを完全にリセットする必要があります。
設定からアプリとアプリデータを削除するだけで十分ですか?私は前にそれをしました、そしてそれはたくさんのエラーを引き起こしました。
アプリのiCloud設定とストレージを完全にリセットして、まったく新しいアプリのインストールであるかのように起動する適切な方法は何ですか?
乾杯とありがとう
私は今iCloudをアプリに追加しており、アップグレードシナリオをテストできるようにするには、時々iCloudストレージを完全にリセットする必要があります。
設定からアプリとアプリデータを削除するだけで十分ですか?私は前にそれをしました、そしてそれはたくさんのエラーを引き起こしました。
アプリのiCloud設定とストレージを完全にリセットして、まったく新しいアプリのインストールであるかのように起動する適切な方法は何ですか?
乾杯とありがとう
アプリを削除するだけでは十分ではありません。実際、iCloud の利点は、それがアプリのサンドボックスの外にあることです。プロセスは、使用している iCloud ソリューションの種類によって異なる場合があります。
CoreData を使用している場合は、プログラムでモデル スタックをトラバースして削除することになります (適切な削除ルールを備えた適切に設計されたモデルがある場合は、最高レベルのリレーションから削除して、削除の流れに任せることができます)下)。
キー値ストアを使用している場合は、非常に簡単です。
次のような iCloud ユビキタス ストアへの参照を取得します (おそらく既にどこかにあるはずです)。
@property (strong, nonatomic) NSUbiquitousKeyValueStore *ubiquitousStore;
クリアするには、含まれているオブジェクトを列挙して削除します。
- (void)cleariCloudUbiquitousStore
{
// Clear everything regardless of actual key:
for (NSString *key in self.ubiquitousStore.dictionaryRepresentation.allKeys)
{
[self.ubiquitousStore removeObjectForKey:key];
}
// Sync back to iCloud
[self.ubiquitousStore synchronize];
}