避免iCloud与非CoreData应用程序冲突

时间:2013-09-11 08:21:33

标签: ios macos sqlite icloud

我正在开发一个非基于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冲突。如果有正确处理此案的任何指导或参考,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以像这样生成UDID。

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

希望它有所帮助。

相关问题