【问题标题】:Avoiding iCloud conflicts with non CoreData app避免 iCloud 与非 CoreData 应用程序发生冲突
【发布时间】:2013-09-15 04:15:18
【问题描述】:

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

【问题讨论】:

    标签: ios macos sqlite icloud


    【解决方案1】:

    你可以像这样生成UDID。

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

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-26
      • 2021-09-30
      • 2011-05-27
      相关资源
      最近更新 更多