寻找版本升级到版本升级的具体细节,尤其是捆绑在新版本中删除的内容会发生什么情况?例如,如果版本1.0在软件包中有一个名为“foo.png”的文件,但版本2.0没有,那么iOS在升级过程中是否删除了现有的foo.png?还是它离开它?谢谢,亚历克斯iOS应用版本升级 - Bundle内容是否被删除?
回答
去想它的方式是这样的:
- 的旧的包(可执行文件,资源等)完全去除。
- 这个新的捆绑包在它的位置。
- 应用程序文件系统外的文件系统保持不变。
所有应用程序存储的数据,文档和用户默认值都保持在原来的位置。你的应用程序的新版本将醒来,发现所有状态仍然存在,并需要正确处理。但是,旧的应用程序包的资源都不存在 - 不需要担心看到这些事情的升级和版本控制。
升级删除所有旧文件。更新后,您将只拥有包中属于目标的文件。
这实际上是至关重要的。假设你删除了一个笔尖。如果它实际上没有被删除,它仍然会从简单地位于包的文件系统中初始化。你可能没有IBOutlets等在你的视图控制器中的连接在你删除的xib中。这会在初始化笔尖时导致应用程序崩溃。
这一点是有效的,但我不认为NIB是“从简单地在文件系统中初始化”。它们都是明确加载的,即使只是在样板代码中。 (如果我错了,请告诉我。) –
loadView'方法将查找与包中的视图控制器的类名相匹配的笔尖,即使使用'init'而不是'initWithNibName '。 –
而且,在更新期间移除NIB文件是非常重要的,例如,由于本地化:您可以将您的NIB移动到en.lproj /文件夹,但默认的NIB加载器首先会查看主文件夹,并且仅在本地化目录中查看* then *。 – kuba
- 1. iOS 8 OTA升级后NSFileProtectionKey被删除?
- 2. 升级升级版本
- 3. 是否可以删除Subversion版本库中的内容?
- 4. GCE是否自动升级kubernetes的容器集群主版本?
- 5. 如何知道该应用程序是否被替换为另一个版本(不是升级版本)
- 6. 应用升级需要升级IOS
- 7. 降级iOS /升级到不是最新的版本
- 8. 应用程序的升级版本
- 9. iPhone Lite版本升级
- 10. 自动升级宝石版本的Gemfile使用Rails升级
- 11. SVN Magento版本升级
- 12. Elasticsearch - 从版本5.0升级。到5.2 - 由apt升级引起的版本降级
- 13. 升级Android版本可清除应用程序数据?
- 14. Lite/Pro版本与应用内付费升级选项
- 15. Wix主要升级删除未版本控制的文件
- 16. 删除文件夹内容并从版本控制中删除
- 17. 恰好数据在iOS应用程序时,新的应用程序版本升级和新的iOS版本升级
- 18. iOS应用程序崩溃升级
- 19. 升级到Ruby on Rails 3.1:'jquery_ujs.js'文件应该被删除?
- 20. iOS升级是否保留NSUserDefaults?
- 21. Zend PHP - 旧版本升级?
- 22. NopCommerce次要版本升级
- 23. Android:应用程序升级而不是新版本
- 24. 如何检测Android应用程序是否已从版本x升级到y?
- 25. 获取apk版本升级包版本
- 26. 相同主版本中的升级是否保证与设备兼容?
- 27. 防止企业iOS应用被删除
- 28. Ruby版本在Heroku上不升级
- 29. 节点版本不升级
- 30. 如何升级SQLite版本?
谢谢,这很有帮助。你有关于这个主题的任何Apple文档的链接?到目前为止,我所看到的关于原始内容的主题是模糊的。 – Alex
当通过Xcode安装应用程序的新版本时,这种工作方式是否有所不同?我正在测试一个更新,令我惊讶的是刚刚发现旧版本中的旧资源仍然存在。 – radven
Radven,是的,当您通过XCode进行部署时,它的工作方式会有所不同。他们似乎在这种情况下做了一个原地拷贝。为了真正测试升级,我们已经在发布版本上部署adhoc发布版本。 – Alex