Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 不同XCode版本的编译错误_Ios_Iphone_Xcode_Compilation - Fatal编程技术网

Ios 不同XCode版本的编译错误

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.0上运行的应用程序。我目前正在使用模拟器测试我的应用程序。为了在iOS 7上测试我的应用程序,一旦我切换到XCode 5,我就会对我的代码进行注释,这让我感到非常恼火。
有没有什么干净直接的方法可以避免所有的头痛?是否有任何有用的宏允许指定何时编译代码和何时不编译代码

难道你没有下载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进行构建,并针对较旧的模拟器运行时进行测试。