joh*_*ham 17 frameworks objective-c compile-time ios
我正在开发一个可以选择使用闭源框架的开源项目.如果闭源框架包含在项目中,则会有其他功能.但是,如果框架未包含在项目中,则项目仍应正确编译.
如果框架包含在项目中,如何在编译时检查?
基本上,我想做这样的事情:
#ifdef _MY_FRAMEWORK_EXISTS
#import <MyFramework/MyFramework.h>
#endif
Run Code Online (Sandbox Code Playgroud)
我已经看过2年前的老问题,就像这个问题一样,但没有答案浮出水面,所以我现在可能会遗漏一些新东西.
我不想在运行时通过检查NSClassFromString()
,因为当我尝试导入时它将在编译时失败MyFramework
并且它不存在.
Gre*_*ker 19
您可以使用__has_include语言扩展来检查是否存在头文件. http://clang.llvm.org/docs/LanguageExtensions.html#include-file-checking-macros
但是,这只会告诉您是否安装了头文件.它无法告诉您"Link Binary With Libraries"是否与其框架相关联.
归档时间: |
|
查看次数: |
5067 次 |
最近记录: |