我需要更改iPhone应用程序的捆绑包标识符,然后才能将其上传到App Store。但是,我的核心数据存储中也有数据,即使我更改捆绑包标识符,也希望继续使用。但是,似乎捆绑标识符是iPhone知道应用程序是否相同的方式,因此我在手机上获得了该应用程序的两个不同副本(带有两个不同的核心数据存储)!我知道我可以通过Xcode组织者下载SQLite数据存储,如何确保使用新捆绑包标识符将数据传输到新应用程序包中?

有帮助吗?

解决方案

除了某些例外,每个应用程序(由BI识别)都有自己的隔离存储空间。如果您确实必须更改此操作(还将禁用“旧版本”的买家免费更新),则必须找到外部迁移方式。

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

但是,“您的应用程序生活在自己的孤立世界中”的想法也意味着您无法访问其他应用程序的数据。从安全角度来看,这是无礼的。用于构建应用程序想要共享数据的“应用套件”。但是Apples在OS4中对此进行了增强 - (我想)在您的情况下(我想)对您无济于事,因为“共享应用程序”也必须是特殊的。

其他提示

我知道这个问题很旧,但是我只是在寻找相同问题的答案时注意到了,并认为它仍然对他人有用。最初的海报半章提出了自己的问题,但并没有迈出下一步。

如果您尚未在App Store上发布您的应用程序,并且想更改捆绑包标识符,则可以使用Xcode组织者将Coredata Store从一个沙盒复制到另一个沙盒,如上所述。显然,这仅对您自己的设备有用(我认为这是原始海报想要做的);如果他们购买了您的应用程序,此过程将不允许其他用户设备传输数据,因此在发布应用程序后不要更改捆绑包标识符。

首先,在设备上运行旧应用(带有旧捆绑识别器的应用程序)。在Xcode组织者中,选择您的设备,然后选择应用程序,然后选择应用程序(带有旧标识符),然后将数据下载到Mac。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top