1

我有一个应用程序,它使用核心数据和持久数据库,用户可以在其中存储数据。

该应用程序的第一个版本针对 iOS 4.1

我已经完成了用户端和开发者端的大规模更新。该应用程序现在针对 iOS 5.1,因为我想利用 Storyboards 和 ARC。所以,我没有去旧项目开始改变事情,而是从头开始了一个新项目。我为项目提供了相同的 bundleID,并将版本和构建设置为 2.0(两者)。但是,xcode 项目具有不同的名称。

该应用程序在模拟器和设备上都可以正常工作。但是,为了检查更新过程是否正常,我在两台设备(iPhone 和 iPad)上都安装了旧版本,然后我从后台杀死了该应用程序,并从 xcode 启动了 2.0 版本。

应用程序已安装(图标已更新),但应用程序不会启动。我试图再次点击主屏幕上的应用程序,但它不起作用。唯一可行的方法是我从设备中删除应用程序并安装 2.0 版本。问题是 sqlite 数据库已从文档中删除,用户将丢失他/她的数据。

在控制台上,唯一的消息如下:

error: failed to launch '/Users/marcal/Library/Developer/Xcode/DerivedData/pureNMR-ddeelrvexokmoocaqkbwswvyubhi/Build/Products/Debug-iphoneos/pureNMR.app/pureNMR' -- failed to send the qLaunchSuccess packet

我敢肯定,我不是唯一一个遇到这个问题的人,在这里我会非常感谢一些帮助。

提前致谢!

更新

我再次清理了 Xcode 上的派生数据。然后我检查了应用程序名称,它与原始应用程序(v1.0)不匹配。当我这样做时,Xcode 更改了 bundleID 以匹配 App 名称,因此我必须找出如何再次更改 bundleID 以匹配原始名称。这很重要,否则它将被视为新应用程序。

毕竟,我在设备上安装了 v1.0,退出应用程序,从后台删除它并安装了 v2.0

现在控制台给了我以下错误:

error: failed to launch '/Users/marcal/Library/Developer/Xcode/DerivedData/pureNMR-ddeelrvexokmoocaqkbwswvyubhi/Build/Products/Debug-iphoneos/Pure NMR.app/Pure NMR' -- No such file or directory (/Users/marcal/Library/Developer/Xcode/DerivedData/pureNMR-ddeelrvexokmoocaqkbwswvyubhi/Build/Products/Debug-iphoneos/Pure NMR.app/Pure NMR)

该应用程序不会立即启动(这是它给我错误的时候)。然而,重要的是,当我在设备上点击应用程序时,它会完美启动并且运行良好。更好的是,存储在 v1.0 上的 sqlite db 上的数据按预期保留在那里。

我认为现在错误是因为我删除了派生数据,但其他都很好。

欢迎进一步讨论这个问题。

4

1 回答 1

0

尝试重新启动 Xcode 和您的设备,清理,然后构建并重试。

于 2012-07-05T20:01:21.883 回答