我试图制作一个可以在iOS和OS X上运行的框架
我发现的问题是在.framework中默认' TARGET_
定义不起作用。
我想使用此代码:
#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
import UIKit
#endif
#if TARGET_OS_MAC
import AppKit
#endif
但它失败了,所以我构建了一个简单的测试代码,结果不是很好(对我来说)。
#if TARGET_OS_IPHONE
print("Hello iPhone")
#elseif TARGET_OS_SIMULATOR
print("Hello iPhone Simulator")
#elseif TARGET_OS_MAC
print("Hello OS X")
#elseif TARGET_OS_TV
print("Hello TV")
#elseif TARGET_OS_NANO
print("Hello Nano!")
#elseif TARGET_OS_EMBEDDED
print("Hello Embedded?")
#else
print("What kind of target are you!?")
#endif
// Prints What kind of target are you!?
framework.xcodeproj 位于iOS应用的项目中。
所以我期待 TARGET_OS_SIMULATOR
也许有人知道我如何在框架中安排这个,我无法找到答案。
先谢谢
答案 0 :(得分:2)
找到解决方案。
#if os(value)
...
#endif
会奏效。
支持的值包括:OSX,iOS,watchOS,tvOS
示例:
#if os(iOS)
print("Hello iOS")
#elseif os(OSX)
print("Hello OS X")
#elseif os(watchOS)
print("Hello Watch")
#elseif os(tvOS)
print("Hello TV")
#endif
我希望这可以帮助别人。