如何为iOS 4和iOS 3制作iPhone通用二进制文件?

时间:2010-06-17 21:37:57

标签: iphone-sdk-3.0 ios4 universal-binary

可以为os 2.x和3.x制作通用二进制文件,你可以看到sample code for MFMailComposer但是如何为iOS4和iOS3以及XCode 3.2.3制作呢?

1 个答案:

答案 0 :(得分:3)

是的,有关于该过程的一些文档但是如果要实例化可能不存在的类,则必须先测试。

如果在没有类的情况下在3.x上运行,则使用NSClassFromString将返回null,并返回一个类,如果在以后的OS上运行时该类存在,则可以使用该类来分配新实例。通过这种方式,您可以测试和回退到3.x代码并使用4.x类和功能(如果可用)。

确保您针对较新的(4.x)库进行编译,同时还将目标操作系统设置为较低(3.x),这样您就可以在代码中转换新类而无需编译时警告。

如果您想使用新API或支持API更改,您可以使用respondsToSelector测试方法是否存在,并可选择通过performSelector等触发方法。

有许多不同的情况,但这个想法围绕设置目标操作系统和测试运行时事件,以便回退或避免仅在以后的操作系统中提供的功能

例如,您可能会检查UILocalNotification类是否存在,如果它可用,您在工具栏上放置一个按钮,如果它不存在,则不会 - 因此完全避免在运行时崩溃的代码。 / p>