2

我无意中在 XCode 构建中使用了这些值:

IPHONEOS_DEPLOYMENT_TARGET = 4.0
SDKROOT = iphonesimulator6.0

我以前从没想过他(我是 iOS 菜鸟),但这是否意味着我的应用程序可以在 iOS4 及更高版本的设备上运行,还是只能在 iOS6 上运行?

4

1 回答 1

2

部署目标是您支持的最低版本。SDK Root(或 GUI 中的 Base SDK)是您在构建时使用的一组框架。您必须知道,使用 SDK 6.0 构建可以访问许多在 4.0~5.0 等中不可用的 API 调用,您必须在使用它们时检查它们的可用性,否则您将在旧软件上崩溃。您通常使用 NSClassFromString(@"NewClass") 检查类的可用性,如果它返回 nil,则它不可用。要检查现有类上是否有可用的新方法,请使用 [OldClass respondsToSelector:@selector(newMethod:)] 如果您想使用项目中链接的新框架,则必须将它们声明为 Weak,否则您将在启动时崩溃旧软件

于 2012-09-24T14:25:30.537 回答