转换iOS5应用程序以支持iOS4.2

时间:2012-04-24 20:50:23

标签: objective-c ios ios5 storyboard

我刚刚使用XCode 4.2创建了我的第一个iOS应用程序。该应用程序仅在iOS5上运行。

我也需要让它在iOS4上运行。

我有一个MainstoryBoard,我准备摆脱它并改为使用nib文件。

问题是,一旦我删除了MainStoryBoard,我该怎样做才能让它进入第一堂课?需要进行哪些设置才能使其与iOS4.2兼容?

由于

2 个答案:

答案 0 :(得分:0)

user1051935,

4.xxx不支持

故事板,仅在5.0及更高版本中。要在启动时加载第一个视图控制器,您需要修改appdelegate文件以在窗口中加载第一个视图控制器的nib文件。这不仅仅是调整设置,因为在4.xxx中处理segue和nib的方式与ios5中的storyboard方法略有不同。您还需要以编程方式在视图之间创建segue。我建议你买一本关于ios 4编程的好书。有很多可用的,我已经找到了很多折扣现在5.0已经出来。这将带您逐步完成单独使用nib,创建委托和协议以及在视图之间进行隔离。我自己开始使用故事板,并向后退到ios4-way预备板。它可能不是最聪明或最简单的路线,但它是可能的。现在我使用代码中的视图,我实际上更喜欢它,并且看不到故事板的优势,除非我正在处理一个非常复杂的应用程序(结构上)。你仍然可以使用带有4.xxx ios基础的ARC,这是一种祝福!

答案 1 :(得分:0)

@MySpecialPurpose的答案是iOS 4.2支持的必要第一步。但是,我可以假设您正在支持该版本,以便您的应用可以在第二代和第三代iPhone和iPod touch上运行吗?如果是这样,您还必须在这些设备上编译 armv6 处理器,并更新您的功能。

构建设置中,找到体系结构并添加 armv6 ,就像这样。您可能会发现现有值 armv7 ,或者 $(ARCHS_STANDARD_32_BIT 。无论哪个存在,请将其保留。

XCode build settings for architectures

另请转到 Info.plist 。您可能会找到一个名为所需设备功能的阵列。如果它包含字符串 armv7 ,请删除该项目。

XCode Info.plist settings for Required device capabilities

从XCode 4.3.2开始,需要进行这些更改。未来版本的XCode和iOS SDK可能会添加其他必须回滚以在旧设备上运行的默认项目设置。