我无意中最终在XCode版本中使用了这些值:
IPHONEOS_DEPLOYMENT_TARGET = 4.0 SDKROOT = iphonesimulator6.0
我之前从未想过他(我是iOS菜鸟),但这是否意味着我的应用程序可以在iOS4及以上版本的设备上运行,或仅在iOS6上运行?
答案 0 :(得分:2)
部署目标是您支持的最低版本。 SDK Root(或GUI中的Base SDK)是您在构建时使用的一组框架。你必须要知道,使用SDK 6.0的构建可以访问4.0~5.0等中没有的许多API调用,你必须在使用它们时检查它们的可用性,否则你将在旧的软件上崩溃。 您通常使用NSClassFromString(@“NewClass”)检查类的可用性,如果它返回nil则不可用。 要检查现有类的新方法,可以使用[OldClass respondsToSelector:@selector(newMethod :)] 如果要使用项目中链接的新框架,则必须将它们声明为弱,否则在旧软件上启动时会崩溃