Ios 不同XCode版本的编译错误
我正在开发一个应该在iOS版本>=7.0上运行的应用程序。我目前正在使用模拟器测试我的应用程序。为了在iOS 7上测试我的应用程序,一旦我切换到XCode 5,我就会对我的代码进行注释,这让我感到非常恼火。Ios 不同XCode版本的编译错误,ios,iphone,xcode,compilation,Ios,Iphone,Xcode,Compilation,我正在开发一个应该在iOS版本>=7.0上运行的应用程序。我目前正在使用模拟器测试我的应用程序。为了在iOS 7上测试我的应用程序,一旦我切换到XCode 5,我就会对我的代码进行注释,这让我感到非常恼火。 有没有什么干净直接的方法可以避免所有的头痛?是否有任何有用的宏允许指定何时编译代码和何时不编译代码 难道你没有下载iOS 7.1模拟器吗(Xcode>首选项>下载)?如果你计划针对缺少你正在使用的新功能的旧SDK版本编译相同的代码,你应该使用Availability.h中的u IPHONE\
有没有什么干净直接的方法可以避免所有的头痛?是否有任何有用的宏允许指定何时编译代码和何时不编译代码 难道你没有下载iOS 7.1模拟器吗(Xcode>首选项>下载)?如果你计划针对缺少你正在使用的新功能的旧SDK版本编译相同的代码,你应该使用Availability.h中的u IPHONE\u OS\u VERSION\u MAX\u ALLOWED宏。查看标题的注释以获取文档,但其不足之处在于:
#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
#如果(IPHONE)操作系统(OS)版本(MAX)允许<80000
//执行不依赖于iOS功能的回退路径
#所需elif(IPHONE)(操作系统)版本(最低)低于8000
if(在运行时检查新功能的可用性)
//使用新功能
其他的
//执行不依赖于iOS功能的回退路径
#否则
//无条件使用新功能
#恩迪夫
您还可以从Xcode 6中下载iOS 7.1模拟器运行时,并针对它运行应用程序(假设部署目标设置为7.1或更高版本).您遇到了什么错误?与仅在iOS 8 SDK上可用的方法相关的错误。您的意思是,如果我下载iOS 7模拟器,那么我就不必使用XCode 5进行测试了?是的,我以前也使用过类似的方法project@rokridi是的,这就是它可以下载的全部原因,因此,您可以针对较新的SDK进行构建,并针对较旧的模拟器运行时进行测试。