1

我有一个 xcode 项目,它有 4 个目标(2 个应用程序,每个有 1 个 iPhone 和 1 个 iPad 版本)。我最近实施了核心数据轻量级迁移。

我目前只测试两个应用程序,iPhone 版本,分别称为 App A 和 App B。我能够在我的 iPhone 上运行 App A 的当前应用商店版本,然后安装我的新版本 App A 来测试轻量级迁移。它工作正常,没问题。

然后,我用 App B 尝试同样的事情。我可以在我的 iPhone 上安装当前应用商店版本的 App B 没问题。但是,当我尝试在 iPhone 上安装新版本的应用程序 B 时,每次都会收到以下错误(或其变体):“putpkt:写入失败,管道损坏”

我很困惑,因为两个当前版本在同一个项目中,并且每个配置(调试、发布、分发)都有完全相同的设置。不是临时分发。

我在这个论坛和任何地方读到的每一篇关于这个错误的帖子都建议删除应用程序、重新启动设备、重新启动 xcode 等。当然,我可以让它以这种方式工作。但是我无法以这种方式测试我的迁移。如果我从设备中删除旧版本的应用程序,则不会迁移任何东西!

我正在为此拉头发。这两个应用程序最初在两个不同的项目中,我将应用程序 B 作为新目标添加到应用程序 A 项目中 - 这是我唯一能想到的,因为我觉得我已经看过所有内容了。我真的很感激一些帮助来解决这个问题。我对发送无法测试的数据库更新感到恶心——我不能冒险破坏人们的数据,尤其是当我在当前版本之前没有提供备份选项时。啊。

编辑:当我尝试在不更新的情况下在设备上运行 App B 时,我经常收到以下错误:Error Starting Executable... 不知道如何运行。尝试“帮助目标”。

编辑:我认为我遇到了这个麻烦,因为我重命名了应用程序 B 的产品名称。我认为这改变了捆绑包并且不允许我迁移数据。我将尝试将其更改回来并发布更新。与此同时,似乎合并包在应用程序 A 上运行良好。

4

1 回答 1

0

确保新项目和原始项目具有相同的产品名称和相同的数据模型名称为我解决了这个问题。

于 2011-10-22T16:59:54.127 回答