我正在开发一个非基于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冲突。如果有正确处理此案的任何指导或参考,我将不胜感激。
答案 0 :(得分:0)
您可以像这样生成UDID。
CFUUIDRef newUniqueId = CFUUIDCreate(kCFAllocatorDefault);
NSString * uuidString = (NSString*)CFUUIDCreateString(kCFAllocatorDefault, newUniqueId);
CFRelease(newUniqueId);
希望它有所帮助。