0

我需要先更改我的 iPhone 应用程序的捆绑标识符,然后才能将其上传到应用商店。但是,我的核心数据存储中也有数据,即使在我更改了捆绑标识符之后也希望继续使用这些数据。然而,捆绑标识符似乎是 iPhone 知道应用程序是否彼此相同的方式,所以我最终在我的手机上得到了两个不同的应用程序副本——具有两个不同的核心数据存储!我知道我可以通过 Xcode 管理器下载 sqlite 数据存储,如何确保我的数据传输到具有新捆绑标识符的新应用程序包?

4

2 回答 2

1

除了 OS4 的一些例外,每个应用程序(由其 BI 标识)在手机上都有自己的隔离存储。如果您真的必须更改此设置(还将禁用“旧版本”买家的免费更新),您必须找到外部迁移方式。

许多应用程序提供某种“备份”(在 PC/MAC 或其他东西上)。我们为客户做的是建立一个允许“短时间数据存储”的网站。这样旧的应用程序就可以上传数据 - 新的应用程序将其加载下来。当然,这意味着首先更新您的旧应用程序以进行“导出”。

但是“您的应用程序生活在它自己的孤立世界中”的想法也意味着您无法访问其他应用程序的数据。从安全的角度来看,这很重要而且很好。对于构建应用程序想要共享数据的“应用程序套件”,这很糟糕。但是苹果在 OS4 中对此进行了改进——(我猜)这对你的情况没有帮助,因为“共享应用程序”也必须经过特殊设计。

于 2010-06-24T21:37:52.840 回答
1

我知道这个问题已经很老了,但我只是在寻找同一问题的答案时注意到了它,并认为它仍然可能对其他人有用。原始发帖人半回答了他自己的问题,但没有完全采取下一步行动。

如果你还没有在应用商店发布你的应用并且你想改变你的包标识符,可以使用上面建议的 Xcode 管理器将你的 CoreData 存储从一个沙箱复制到另一个沙箱。显然,这仅对您自己的设备有用(我认为这是原始海报想要做的);如果其他用户购买了您的应用,此过程将不允许在其他用户的设备上传输数据,因此在您的应用发布后请勿更改捆绑标识符。

首先,在您的设备上运行旧应用程序(具有旧包标识符的应用程序)。在 Xcode 管理器中,选择您的设备,然后选择应用程序,然后选择应用程序(使用旧标识符)并将数据下载到您的 Mac。

然后在您的设备上安装新应用程序(构建并运行它,然后退出)。在 Xcode 管理器(以及设备本身)中,您现在应该能够看到两个应用程序,一个具有每个包标识符。选择具有新标识符的那个,选择上传并上传您从旧沙箱中保存的数据文件。您现在应该可以访问新应用程序中的所有旧数据。如果您不想重新创建所有数据,则非常方便。

于 2013-03-16T15:33:43.927 回答