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 回答