我要求在Xcode 4中创建cocoa框架/ Libarary,并在10.3.9上支持它。我知道它比10年前的mac.But这是要求。
我已经阅读了苹果的sdk兼容性指南,文档说如果我们将部署目标设置为10.4,则无条件地将其用于10.3.9版本。我不明白“无条件”指的是什么。
如果我需要得到10.3.9的支持,我需要采取哪些预防措施。我们将不胜感激。
答案 0 :(得分:1)
如果您的Xcode版本没有10.3 SDK,那么您将很难避免意外使用10.3.9中没有的API和功能。设置部署目标使得程序可以在10.3.9上加载 - 可执行文件将不使用10.3.9上的加载程序未知的动态加载程序命令以及对符号的任何引用在10.3.9上可用将是弱引用 - 但这并不意味着它将运行。
为了在不崩溃的情况下运行,您必须避免实际解除引用任何弱链接符号或调用任何不可用的方法。避免这种情况的唯一可靠方法是获得编译器的帮助,但这只有在你有适当的SDK时才有可能,而Xcode 4中没有。(老实说,我不知道什么时候最后一个10.3 SDK。 )
最后,如果您无法在该平台上进行测试,那么尝试支持部署目标是愚蠢的。你需要一台运行10.3.9的机器。如果你有,那么你可以使用该版本操作系统的原生Xcode版本。您可以使用条件编译在任一环境中构建代码库,尽管Xcode项目文件本身不兼容。