0

私は非 CoreData ベースのアプリ (sqlite) に取り組んでいますが、iPad に移植する必要があるため、すべての地獄が解き放たれました。

同期は必要ないので、古き良き sqlite ソリューションを維持しようとしています。ただし、今でもい問題があることに気付きました。同じアプリが同じユーザーによって異なるデバイスで使用されている場合です。データベース ファイルは自動的に iCloud にバックアップされますが、複数のデバイスが異なるデータベースを同じ場所にアップロードしようとしています。

この問題の一般的な解決策はどれですか? 私の当面の推測では、データベースを .../Documents/ some_type_of_id / のようなサブフォルダーに保存し、iCloud を使用して各デバイスのさまざまなデータベースと設定をバックアップします。

その ID をどのように生成すればよいですか? 私の最初の選択はこれのようです:

[[[UIDevice currentDevice] identifierForVendor] UUIDString]

ただし、手を汚しているので、Mac アプリ (異なる Mac で同じ iCloud ユーザー) で使用する同等のソリューションを考えています。UIDevice は Mac SDK 内にありません。

Mac 固有の ID を生成するにはどうすればよいですか?

私は UID について質問していますが、私の最初の懸念は依然として iCloud の衝突を避けることです。このケースを適切に処理する方法についてのガイダンスや参照をいただければ幸いです。

4

1 に答える 1

0

このように UDID を生成できます。

  CFUUIDRef newUniqueId = CFUUIDCreate(kCFAllocatorDefault);
  NSString * uuidString = (NSString*)CFUUIDCreateString(kCFAllocatorDefault, newUniqueId);
  CFRelease(newUniqueId);

それが役に立てば幸い。

于 2013-09-11T09:50:32.360 に答える