想知道iOS版本升级的具体细节吗,特别是新版本中删除的捆绑内容会发生什么?例如,如果版本1.0中有一个名为"foo.png"的文件,但版本2.0没有,iOS在升级时是否会删除现有的foo.png ?还是把它留在那里?谢谢你,亚历克斯
可以这样考虑:
- 旧的包(可执行文件,资源等)被完全删除。
- 新bundle被放到原来的位置。
- 应用包外的文件系统保持不变。
所有应用程序存储的数据、文档和用户默认值都保持在原来的位置。你的应用程序的新版本将醒来,发现所有的状态仍然在那里,需要正确地处理它。但是旧的应用包的资源都不在这里,你不需要担心这些东西的升级和版本。
升级将删除所有旧文件。更新后,bundle中只会有属于目标的文件。
这是至关重要的。比如说你删除了一个笔尖。如果它实际上没有被删除,它仍然会从bundle的文件系统中初始化。你可能不会在视图控制器中为你删除的xib中的连接设置iboutlet等。这将导致应用程序在初始化nib时崩溃。