iOS 和 OSX 代码的宏条件
Macro condition for iOS and OSX code
我需要在我的共享库中支持 iOS 和 OSX,调节 iOS 和 OSX 代码的最佳宏/实践是什么
由于某些原因,下面的代码不起作用:/
- (NSString *)hostName {
#ifdef TARGET_OS_IPHONE
return [[UIDevice currentDevice] name];
#elif TARGET_OS_MAC
return [[NSHost currentHost] localizedName];
#endif
}
两个问题:
- 使用#if 而不是#ifdef
- 首先检查 TARGET_OS_IPHONE,因为两个平台的 TARGET_OS_MAC 都定义为 1
参见:
Which conditional compile to use to switch between Mac and iPhone specific code?
我需要在我的共享库中支持 iOS 和 OSX,调节 iOS 和 OSX 代码的最佳宏/实践是什么
由于某些原因,下面的代码不起作用:/
- (NSString *)hostName {
#ifdef TARGET_OS_IPHONE
return [[UIDevice currentDevice] name];
#elif TARGET_OS_MAC
return [[NSHost currentHost] localizedName];
#endif
}
两个问题:
- 使用#if 而不是#ifdef
- 首先检查 TARGET_OS_IPHONE,因为两个平台的 TARGET_OS_MAC 都定义为 1
参见: Which conditional compile to use to switch between Mac and iPhone specific code?