【发布时间】:2015-03-16 18:55:31
【问题描述】:
我需要在我的共享库中支持 iOS 和 OSX,调节 iOS 和 OSX 代码的最佳宏/实践是什么
下面的代码由于某种原因不起作用:/
- (NSString *)hostName {
#ifdef TARGET_OS_IPHONE
return [[UIDevice currentDevice] name];
#elif TARGET_OS_MAC
return [[NSHost currentHost] localizedName];
#endif
}
【问题讨论】:
-
您是在寻找构建两个独立的库(这是您需要对问题中发布的代码执行的操作),还是在寻找运行时解决方案?
-
编译器指令不能用于运行时检查。而且我不认为您可以构建一个支持 iOS 和 OS X 的共享库。我相信您需要两个独立的库,因为处理器完全不同。您也许可以构建一个框架,每个框架都有单独的幻灯片。但无论哪种方式,您最终都会分别编译。
标签: ios objective-c cocoa cocoa-touch macros