Xcode 8 XCODE_VERSION_MAJOR 宏 - 编译问题
Xcode 8 XCODE_VERSION_MAJOR macro - Compilation issue
我有一个 iOS 项目无法在 XCode 8 中编译。如果我修复了编译问题,它就无法在 XCode 7 中运行。
但是我需要让项目在 XCode 7 和 8 中工作。所以我试图使用预处理器宏来进行条件编译
我已经在 Xcode 预处理器宏部分定义了宏,如下所示
XCODE_VERS=$(XCODE_VERSION_MAJOR)
我的代码检查版本如下
#if XCODE_VERS == "0700"
@interface SampleTableCell : UITableViewCell
#else
@interface SampleTableCell : UITableViewCell<CAAnimationDelegate>
#endif
在Xcode8中,XCODE_VERSION_MAJOR被翻译成0800。这不是有效的八进制数。
它在 Xcode 7 中工作正常,但在 XCode 8 中,我收到以下编译错误
是否有任何变通方法来使用 XCODE_VERSION_MAJOR 宏 Xcode 8.
编译问题已通过使用 __IPHONE_OS_VERSION_MAX_ALLOWED 宏而不是 XCODE_VERSION_MAJOR 构建属性得到解决。
现在该项目可用于 Xcode 7 和 Xcode 8。
由于 XCODER_VERSION_MAJOR 和其他一些存储 XCODE 版本的属性持有无效的八进制数,因此这些属性将从 Xcode 8. 已创建相同的错误。
我有一个 iOS 项目无法在 XCode 8 中编译。如果我修复了编译问题,它就无法在 XCode 7 中运行。 但是我需要让项目在 XCode 7 和 8 中工作。所以我试图使用预处理器宏来进行条件编译
我已经在 Xcode 预处理器宏部分定义了宏,如下所示
XCODE_VERS=$(XCODE_VERSION_MAJOR)
我的代码检查版本如下
#if XCODE_VERS == "0700"
@interface SampleTableCell : UITableViewCell
#else
@interface SampleTableCell : UITableViewCell<CAAnimationDelegate>
#endif
在Xcode8中,XCODE_VERSION_MAJOR被翻译成0800。这不是有效的八进制数。 它在 Xcode 7 中工作正常,但在 XCode 8 中,我收到以下编译错误
是否有任何变通方法来使用 XCODE_VERSION_MAJOR 宏 Xcode 8.
编译问题已通过使用 __IPHONE_OS_VERSION_MAX_ALLOWED 宏而不是 XCODE_VERSION_MAJOR 构建属性得到解决。
现在该项目可用于 Xcode 7 和 Xcode 8。
由于 XCODER_VERSION_MAJOR 和其他一些存储 XCODE 版本的属性持有无效的八进制数,因此这些属性将从 Xcode 8. 已创建相同的错误。