【发布时间】:2012-07-06 22:46:26
【问题描述】:
我有一个应用程序,它使用核心数据和持久数据库,用户可以在其中存储数据。
该应用程序的第一个版本针对 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 上的数据仍按预期保留。
我认为现在错误是因为我删除了派生数据,但其他都很好。
欢迎进一步讨论该问题。
【问题讨论】:
-
我在尝试直接在我的设备上运行发布版本时看到了与此类似的错误。您无法使用使用发布配置文件签名的应用进行调试。
-
我不太明白你的意思。你认为在 App Store 上一次不会有问题吗?
-
没关系,我看到你在“Debug-iphoneos”下运行。