我刚刚使用 XCode 4.2 创建了我的第一个 iOS 应用程序。该应用程序仅在 iOS5 上运行。
我还需要让它在 iOS4 上运行。
我有一个 MainstoryBoard,我准备摆脱它并改用 nib 文件。
问题是,一旦我删除 MainStoryBoard,我该怎么做才能让它进入第一堂课?需要做哪些设置才能兼容iOS4.2?
谢谢
我刚刚使用 XCode 4.2 创建了我的第一个 iOS 应用程序。该应用程序仅在 iOS5 上运行。
我还需要让它在 iOS4 上运行。
我有一个 MainstoryBoard,我准备摆脱它并改用 nib 文件。
问题是,一旦我删除 MainStoryBoard,我该怎么做才能让它进入第一堂课?需要做哪些设置才能兼容iOS4.2?
谢谢
用户1051935,
故事板在 4.xxx 中不受支持,仅在 5.0 及更高版本中。要让第一个视图控制器在启动时加载,您需要修改 appdelegate 文件以在窗口中加载第一个视图控制器的 nib 文件。这不仅仅是调整设置,因为 4.xxx 中处理 segue 和 nib 的方式与 ios5 中的情节提要方法有点不同。您还需要以编程方式在视图之间创建转场。我会建议拿起一本关于 ios 4 编程的好书。有很多可用的,现在 5.0 出来了,我发现有很多打折的。这将引导您逐步完成单独使用 nib、创建委托和协议以及在视图之间切换。我自己从 Storyboard 开始,然后倒退到 ios4-way pre-storyboards。这可能不是最聪明或最简单的路线,但它是可能的。现在我在代码中使用视图,实际上我更喜欢它,并且没有看到故事板有太多优势,除非我正在开发一个非常复杂的应用程序(结构上)。你仍然可以使用 ARC 与 4.xxx ios 基础,这是一个祝福!
@MySpecialPurpose 的回答是 iOS 4.2 支持的必要第一步。但是,我是否可以假设您正在支持该版本,以便您的应用程序可以在第二代和第三代 iPhone 和 iPod touch 上运行?如果是这样,您还必须为这些设备上的armv6处理器进行编译,并更新您的功能。
在您的Build Settings中,找到Architectures并添加armv6,如下所示。您可能会发现您的现有值是armv7,或者它是$(ARCHS_STANDARD_32_BIT。无论其中哪一个存在,都不要使用它。
也去你的Info.plist。您可能会找到一个名为Required device capabilities的数组。如果它包含字符串armv7,则删除该项目。
从 XCode 4.3.2 开始需要这些更改。XCode 和 iOS SDK 的未来版本可能会添加其他默认项目设置,这些设置必须回滚才能在旧设备上运行。