类似 objective c 的以下语法:
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_6_0
// iOS 6+ code here
#else
// Pre iOS 6 code here
#endif
我搜了一圈没找到什么在 swift 的 preprocess/debug flag 里判断 iOS 版本的,只找到了 runtime check ,但是 runtime 的时候不能 import 。不知道有没有任何办法解决...
1
SoloCompany 2016-07-08 02:21:08 +08:00
什么鬼
我一个外行看着都觉得不对劲 宏是编译开关 怎么可以和运行时判断扯上关系 你难不成还以为 iOS 能在运行时区编译你的代码? |
2
Trim21 2016-07-08 02:37:13 +08:00 via Android
@SoloCompany 楼主的意思是运行的时候能检测,但是这个时候已经 import 过了吧?
|
3
20015jjw OP |
4
sharkli 2016-07-08 07:07:19 +08:00 via iPhone
你这需求,必须运行时判断啊。
|
5
haoc 2016-07-08 07:15:00 +08:00
好奇,等高手解釋。 python 可以 try catch import 。不知道能不能算是 workaround
|
6
Shane 2016-07-08 08:17:44 +08:00 via iPhone
Build Phases 里设置对应的 framework 引入方式为 Optional ,默认的为 Required ,然后运行时判断有没定义对应的 Class
|