【问题标题】:App update won't launch when older version is installed安装旧版本时,应用程序更新不会启动
【发布时间】: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”下运行。

标签: ios launch


【解决方案1】:

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

【讨论】:

  • 没用。在模拟器上完全没有问题,它更新得很好。现在想起来前几天我在Xcode上删除了项目的派生数据。不知道有没有关系。
猜你喜欢
  • 2017-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-03
  • 2016-04-18
  • 2018-06-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多