为啥我的 iPhone 应用程序包在更新期间没有替换旧的应用程序包?
Posted
技术标签:
【中文标题】为啥我的 iPhone 应用程序包在更新期间没有替换旧的应用程序包?【英文标题】: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
,进行干净的构建等并安装,那么它仍然显示在模拟器或设备上的包中!
但我知道在复制到模拟器或设备之前,该文件不在捆绑包中(例如:
-
我可以看到它不在构建文件夹中。
如果我从模拟器或设备中删除应用程序,然后安装,那么
foo.png
不会显示在模拟器或设备上。
所以看来更新的时候并没有替换app bundle;相反,它只复制新文件并替换更新的文件。 (我可以确认它确实,事实上,正确地复制和替换文件。)
为什么不替换整个 app bundle?
【问题讨论】:
...和“菜单:构建:清除所有目标”不起作用?当我遇到类似问题时,它对我有用... 不,很遗憾,我已经彻底清理了所有东西并重建了。 【参考方案1】:如果您使用临时构建通过 iTunes 更新您的应用程序,您将看到您的 .app 包将被完全替换,并且旧资源(例如原始帖子中描述的 foo.png 文件)将被删除。
【讨论】:
【参考方案2】:重置模拟器,进入菜单然后点击重置模拟器。我总是对设备上的数据库有这个问题。您必须在设备上将其删除。只是我也经历过的一个怪癖。
【讨论】:
但这意味着我在更新我的应用程序时无法删除任何文件 - 这是不对的! @Jesse 但这就是当前构建和部署过程的工作方式。如果您认为当前行为不正确,则应提交错误。 bugreport.apple.com @fluchtpunkt,记录在哪里? 请记住,我的意思是从包中删除文件,不是从Documents
文件夹中删除文件
杰西,我也见过这个怪癖。 “重置模拟器”是在模拟器上解决此问题的方法。以上是关于为啥我的 iPhone 应用程序包在更新期间没有替换旧的应用程序包?的主要内容,如果未能解决你的问题,请参考以下文章
如何防止流星应用程序与人行横道包在Android编译期间崩溃?