【问题标题】:Reuse existing Core Data store from one iPhone app to another将现有的 Core Data 存储从一个 iPhone 应用程序重用到另一个应用程序
【发布时间】:2011-10-17 00:36:37
【问题描述】:

有没有一种方法可以使用来自不同应用中的一个应用的现有核心数据存储,由同一个人发布并具有相同的 com.company.* 标识符?

用例是允许从精简版升级到专业版的用户在启动免费版本后仍然拥有他们在精简版中生成的所有数据。这有可能吗?

我想避免使用粘贴板或网址,这对我来说似乎很麻烦。理想情况下,我只是连接到现有的核心数据并在应用程序之间共享它。

【问题讨论】:

    标签: iphone objective-c cocoa core-data


    【解决方案1】:

    最好的办法是将整个 CoreData 数据库从旧应用程序转移到新应用程序,使用任何最有效的机制 - 我认为粘贴板有一种共享整个文件的方法。

    您必须以某种方式传输文件,因为不允许一个应用程序查看另一个应用程序空间。

    您可能还想检查 iOS5 iCloud 支持,作为在应用程序之间传输文件的一种机制,我们无法在 StackOverflow 上回答有关此问题的问题,因为 iOS5 API 功能仍处于 NDA 之下。

    【讨论】:

      【解决方案2】:

      您可以为旧应用注册一个 url 方案并为新应用注册一个文件类型。该 url 由新应用程序打开,旧应用程序将数据导出到具有新应用程序注册的扩展名的文件/文件夹中。 然后旧应用程序使用文档管理器“打开”导出的文件,然后调用新应用程序打开文件并导入它。

      【讨论】:

        【解决方案3】:

        无论你的 NSPersistentStoreCoordinator 类在哪里

        变化:

        if (![persistentStoreCoordinator_ addPersistentStoreWithType:NSSQLiteStoreType         configuration:nil URL:storeURL options:nil error:&error]) {
        

        收件人:

        if (![persistentStoreCoordinator_ addPersistentStoreWithType:NSSQLiteStoreType  configuration:nil URL:storeURL options:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES],NSMigratePersistentStoresAutomaticallyOption, [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil] error:&error]) 
        

        以这种方式设置选项会告诉当前构建使用现有数据存储并将更改(如果有)迁移到您创建的数据存储的新版本中。我认为这适用于您的尝试,就像您更改了 Apple Core Data Documentation 中的 There is info 并提供了更详细的解释一样。

        【讨论】:

          【解决方案4】:

          您可以在商店中设置您的应用,使lite 版本和pro 版本显示为同一应用的不同版本。当用户升级时,新版本安装在与旧版本相同的逻辑目录中,并且可以访问旧版本的数据文件。

          【讨论】:

          • 不确定这是否可行。你能说得更具体一点吗?
          • 您必须查看商店支持选项。据我所知,它不在技术文档中。我不知道它现在在网站上的确切位置。您可能必须从应用程序内启动升级。我确实知道我已经将应用程序从精简版升级到专业版,并且它们已经升级到位。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-26
          • 2011-01-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多