【问题标题】:Why isn't my iPhone app bundle replacing the old one during an update?为什么我的 iPhone 应用程序包在更新期间没有替换旧的应用程序包?
【发布时间】:2011-03-05 21:22:40
【问题描述】:

我从一个以 foo.png 为资源的应用开始,并安装了该应用(在模拟器中或在设备上)。如果我删除foo.png,进行干净的构建等并安装,那么它仍然显示在模拟器或设备上的包中!

但我知道在复制到模拟器或设备之前,该文件不在捆绑包中(例如:

  1. 我可以看到它不在构建文件夹中。
  2. 如果我从模拟器或设备中删除应用程序,然后安装,那么foo.png不会显示在模拟器或设备上。

所以看来更新的时候并没有替换app bundle;相反,它只复制新文件并替换更新的文件。 (我可以确认它确实,事实上,正确地复制和替换文件。)

为什么不替换整个 app bundle?

【问题讨论】:

  • ...和“菜单:构建:清除所有目标”不起作用?当我遇到类似问题时,它对我有用...
  • 不,很遗憾,我已经彻底清理了所有东西并重建了。

标签: iphone xcode


【解决方案1】:

如果您使用临时构建通过 iTunes 更新您的应用程序,您将看到您的 .app 包将被完全替换,并且旧资源(例如原始帖子中描述的 foo.png 文件)将被删除。

【讨论】:

    【解决方案2】:

    重置模拟器,进入菜单然后点击重置模拟器。我总是对设备上的数据库有这个问题。您必须在设备上将其删除。只是我也经历过的一个怪癖。

    【讨论】:

    • 但这意味着我在更新我的应用程序时无法删除任何文件 - 这是不对的!
    • @Jesse 但这就是当前构建和部署过程的工作方式。如果您认为当前行为不正确,则应提交错误。 bugreport.apple.com
    • @fluchtpunkt,记录在哪里?
    • 请记住,我的意思是从包中删除文件,不是Documents 文件夹中删除文件
    • 杰西,我也见过这个怪癖。 “重置模拟器”是在模拟器上解决此问题的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-21
    相关资源
    最近更新 更多