我有" Constants.h"头文件,包含如下的宏:
#define IS_IOS_SIMULATOR TARGET_IPHONE_SIMULATOR
#define IS_IOS (TARGET_OS_IOS || IS_IOS_SIMULATOR)
#define IS_MAC (TARGET_OS_MAC)
#if IS_IOS
#define xColor UIColor
#elif IS_MAC
#define xColor NSColor
#endif
它允许我对iOS和macOS应用程序使用相同的代码。我的整个代码都是Objective-C ++,所以我把类型转换放在任何地方。当涉及到这样的属性声明时,问题通常出现在头文件中:
@property (strong, nonatomic) xColor *colorProp;
XCode不断抛出以下异常:
未知的类型名称' xColor',您的意思是......?
即使" Constants.h"导入文件并连接所需的库。 有没有办法禁用这些异常,最后编译我的代码?
答案 0 :(得分:0)
使用Macro检测当前正在运行的设备时,请确保按以下方式定义它们:
#define IS_IOS_SIMULATOR TARGET_IPHONE_SIMULATOR
#define IS_IOS (TARGET_OS_IOS || IS_IOS_SIMULATOR)
#define IS_MAC (TARGET_OS_MAC && !IS_IOS_SIMULATOR)
感谢Phillip Mills和Amin Negm-Awad的帮助!