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

Ios 避免iCloud与非CoreData应用程序冲突,ios,macos,sqlite,icloud,Ios,Macos,Sqlite,Icloud,我正在开发一个基于非CoreData的应用程序(sqlite),现在它必须被移植到iPad上,所有的麻烦都被打破了 因为不需要同步,所以我尝试使用我的好的旧sqlite解决方案。然而,我注意到,即使是现在,我也有一个丑陋的问题:如果同一个用户在不同的设备上使用同一个应用程序。数据库文件会自动备份到iCloud,但现在有多个设备希望将不同的数据库上载到同一位置 哪个是这个问题的常见解决方案?我的直接猜测是将数据库保存到一个子文件夹中,如…/Documents/一些\u-type\u-id,并使用i

我正在开发一个基于非CoreData的应用程序(sqlite),现在它必须被移植到iPad上,所有的麻烦都被打破了

因为不需要同步,所以我尝试使用我的好的旧sqlite解决方案。然而,我注意到,即使是现在,我也有一个丑陋的问题:如果同一个用户在不同的设备上使用同一个应用程序。数据库文件会自动备份到iCloud,但现在有多个设备希望将不同的数据库上载到同一位置

哪个是这个问题的常见解决方案?我的直接猜测是将数据库保存到一个子文件夹中,如…/Documents/一些\u-type\u-id,并使用iCloud为每个设备备份不同的数据库和设置

我应该如何生成该ID?我的第一选择似乎是:

[[[UIDevice currentDevice] identifierForVendor] UUIDString]
然而,现在我已经把手弄脏了,我想知道哪种解决方案应该与Mac应用程序(不同Mac上的同一iCloud用户)一起使用。UIDevice不在Mac SDK中

如何生成Mac唯一ID


虽然我现在问的是UID,但我首先关心的还是避免iCloud冲突。如果您能提供有关如何正确处理此案例的指导或参考,我将不胜感激。

您可以像这样生成UDID

  CFUUIDRef newUniqueId = CFUUIDCreate(kCFAllocatorDefault);
  NSString * uuidString = (NSString*)CFUUIDCreateString(kCFAllocatorDefault, newUniqueId);
  CFRelease(newUniqueId);
希望能有帮助