【发布时间】:2015-01-28 07:07:29
【问题描述】:
我正在构建一个将在 iOS/OSX 应用程序中使用的模块。
客户坚持该模块在 iOS 和 OSX 上都可以工作。
我需要检查我在 iOS 和 OSX 上使用 UIDevice 所做的系统版本,我使用的是FTWDevice。
问题是当我尝试在 OSX 上编译它时,它抱怨 OSX 不支持 UIDevice。
我想知道是否有一种方法可以告诉编译器在 iOS 上编译一行代码,而不是在 OSX 上?
我知道我可以这样做以仅在生产环境中编译一些东西:
#ifndef DEBUG
[Crashlytics startWithAPIKey:CRASHLYTICSKEY];
#endif
是否有解决方案,或者我应该告诉客户他们需要 2 个除了一行之外完全相同的模块?
另一个可接受的解决方案是在不涉及使用 UIDevice 的 iOS 上查找系统版本的解决方法。
【问题讨论】:
标签: ios objective-c macos swift