【发布时间】:2011-09-29 05:49:09
【问题描述】:
正在寻找有关 iOS 中版本升级如何工作的一些具体细节,特别是在新版本中已删除的捆绑内容会发生什么情况?例如,如果 1.0 版本的包中有一个名为“foo.png”的文件,但 2.0 版本没有,iOS 是否会在升级过程中删除现有的 foo.png?还是把它留在那里?谢谢,亚历克斯
【问题讨论】:
标签: objective-c ios
正在寻找有关 iOS 中版本升级如何工作的一些具体细节,特别是在新版本中已删除的捆绑内容会发生什么情况?例如,如果 1.0 版本的包中有一个名为“foo.png”的文件,但 2.0 版本没有,iOS 是否会在升级过程中删除现有的 foo.png?还是把它留在那里?谢谢,亚历克斯
【问题讨论】:
标签: objective-c ios
思考方式是这样的:
您在应用程序中存储的所有数据、文档和用户默认设置都准确无误。您的应用程序的新版本将唤醒以发现所有状态仍然存在并且需要正确处理它。但是,旧的 app bundle 的资源都不在那里——您不必担心看到这些东西的升级和版本控制。
【讨论】:
升级会删除所有旧文件。更新后,您将只拥有属于您的目标的文件。
这实际上是至关重要的。假设你删除了一个笔尖。如果它实际上没有被删除,它仍然会从简单地在包的文件系统中初始化。而且您的视图控制器中可能没有 IBOutlets 等用于您删除的 xib 中的连接。这将导致应用程序在初始化 nib 时崩溃。
【讨论】:
loadView 方法将在包中查找与视图控制器的类名匹配的 nib,即使您使用的是 init 而不是 initWithNibName。