我们创建了一个具有相同应用ID的新项目,但这被指定为隔离存储中的不同文件夹。这是为什么?
文件:///用户/ houman /库/开发商/ CoreSimulator /设备/ FBFFFF1E-B5C8-4541-AB4B-ED1657D43EB9 /数据/容器/数据/应用/ EB3A549F-1604-4E5C-8FBE-3076A3D581E5 /文档/
文件:///用户/ houman /库/开发商/ CoreSimulator /设备/ FBFFFF1E-B5C8-4541-AB4B-ED1657D43EB9 /数据/容器/数据/应用/ 22E1E792-1F4F-4F05-B7D9-F61AD3624EE9 /文档/
即使应用共享相同的ID。 由于它们不共享相同的位置,因此不能进行核心数据迁移。 有什么建议吗?
更新 我们在AppStore中有两个应用程序,并希望结合这些功能。因此,我们的想法是使用其他应用程序的appID从单独的项目推送新版本。我们有appID和正确的证书,但孤立的存储似乎依赖于其他东西,而不仅仅是appid。没有这一点,现有数据迁移到新系统是不可能的。或者,我们可以将所有文件复制并粘贴到另一个项目中并经历很多痛苦。这可能使它成为可能。
答案 0 :(得分:0)
我已经看到了这一点 - 我相信(并且可能是错误的)您运行的每个模拟器都会在磁盘上获得自己的文件夹。例如,如果您将iPhone 5切换到iPhone 6s,最终可能会使用不同的文件夹。
我总是(当在模拟器中运行时)打印出磁盘上的位置,以便我可以查看sqlite
文件,如果我需要和最近(从xcode7开始)我已经注意到了这个目录在运行之间发生了变化 - 但在我的情况下,我将其跟踪到更改模拟器版本。
答案 1 :(得分:0)
主要出于安全考虑。每个iOS应用程序都放在一个应用程序沙箱中。
这不仅指文件系统中应用程序的沙箱目录,还通过限制对存储在设备,系统服务和硬件上的用户数据的访问来授予安全性。