2

私は今iCloudをアプリに追加しており、アップグレードシナリオをテストできるようにするには、時々iCloudストレージを完全にリセットする必要があります。

設定からアプリとアプリデータを削除するだけで十分ですか?私は前にそれをしました、そしてそれはたくさんのエラーを引き起こしました。

アプリのiCloud設定とストレージを完全にリセットして、まったく新しいアプリのインストールであるかのように起動する適切な方法は何ですか?

乾杯とありがとう

4

1 に答える 1

8

アプリを削除するだけでは十分ではありません。実際、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];

}
于 2012-12-14T00:37:07.270 に答える