不同 XCode 版本的编译错误
Compile errors for different XCode versions
我正在开发一个应 运行 在 iOS 版本 >= 7.0 上的应用程序。我目前正在使用模拟器测试我的应用程序。一旦我切换到 XCode 5 以便在 iOS 7 上测试我的应用程序,我发现评论我的代码非常烦人。
有什么干净直接的方法可以避免所有头痛吗?是否有任何有用的宏允许指定何时编译代码,何时不编译代码?
下载(Xcode>首选项>下载)中没有 iOS 7.1 模拟器吗?
如果您计划针对缺少您正在使用的新功能的旧 SDK 版本编译相同的代码,您应该使用 Availability.h 中的 __IPHONE_OS_VERSION_MAX_ALLOWED 宏。查看 header 对文档的评论,但它的简称是:
#if __IPHONE_OS_VERSION_MAX_ALLOWED < 80000
// Do fallback path that does not depend on iOS features
#elif __IPHONE_OS_VERSION_MIN_REQUIRED < 8000
if (check for availability of new feature at runtime)
// Use new feature
else
// Do fallback path that does not depend on iOS features
#else
// Use new feature unconditionally
#endif
您还可以下载 iOS 7.1 模拟器 运行time 从 Xcode 6 和 运行 您的应用程序针对它(假设部署目标设置回7.1 或更早版本)。
我正在开发一个应 运行 在 iOS 版本 >= 7.0 上的应用程序。我目前正在使用模拟器测试我的应用程序。一旦我切换到 XCode 5 以便在 iOS 7 上测试我的应用程序,我发现评论我的代码非常烦人。 有什么干净直接的方法可以避免所有头痛吗?是否有任何有用的宏允许指定何时编译代码,何时不编译代码?
下载(Xcode>首选项>下载)中没有 iOS 7.1 模拟器吗?
如果您计划针对缺少您正在使用的新功能的旧 SDK 版本编译相同的代码,您应该使用 Availability.h 中的 __IPHONE_OS_VERSION_MAX_ALLOWED 宏。查看 header 对文档的评论,但它的简称是:
#if __IPHONE_OS_VERSION_MAX_ALLOWED < 80000
// Do fallback path that does not depend on iOS features
#elif __IPHONE_OS_VERSION_MIN_REQUIRED < 8000
if (check for availability of new feature at runtime)
// Use new feature
else
// Do fallback path that does not depend on iOS features
#else
// Use new feature unconditionally
#endif
您还可以下载 iOS 7.1 模拟器 运行time 从 Xcode 6 和 运行 您的应用程序针对它(假设部署目标设置回7.1 或更早版本)。