【发布时间】:2014-06-02 08:46:22
【问题描述】:
我的项目今天在生产环境中有一个非常丑陋的 iCloud 实现,我计划在下一次更新时禁用它(我们不需要 iCloud)。这是我将用户从 iCloud 迁移到本地商店的方法 - 更新从应用程序中删除了 iCloud 权利,并且这个简单的事件序列在应用程序启动时启动:
如果有 iCloud 存储([[NSFileManager defaultManager] fileExistsAtPath:[legacyStoreUrl path]]]
- 加载“旧版”iCloud 商店
-
将 iCloud 商店迁移到本地商店
([_persistentStoreCoordinator migratePersistentStore:legacyStore toURL:targetStoreUrl options:options withType:NSSQLiteStoreType error:&legacyStoreMigrationError]);
-
删除旧存储
([fileManager removeItemAtURL:legacyStoreUrl 错误:&legacyStoreRemovalError])
否则
- 加载(或创建)本地存储
这一切都很好 - 在 iOS6 上。
当我在 iOS7 上运行相同的代码来迁移本地商店时,似乎找不到 iCloud 商店。我没有得到任何错误指示,调用 FileManager 来询问商店是否在那里只是返回 false。我验证了升级后的应用程序使用的商店网址与之前版本中使用的网址完全相同。另请注意,该应用程序的现有版本在 iOS7 上运行,访问 iCloud 商店没有任何问题。
对为什么会出现这种情况有任何想法,或者可能有一些关于其他调查的线索?
【问题讨论】: