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