Swift 的 canimport 类似物在 Objective-C 中



Swift 4.2 有一个特殊的条件canImport,可以帮助开发人员检查模块是否可以导入到项目中。它是在 Swift 4.1 中引入的。

现在我正在研究用Objective-C编写的iOS项目。我使用模块,对于每个目标,这些模块是不同的。这就是为什么我想使用这样的东西:

#if canImport(SomeModule)
@import SomeModule;
#endif

如何解决这个问题?现在我为每个目标使用不同的"其他 C 标志",但我想找到更灵活的解决方案。

作为答案有点晚了,但我在处理类似案例时遇到了这个问题。 我用了__has_include(<SomeModule/SomeModule.h>)

导入框架:

#if __has_include(<SomeModule/SomeModule.h>)
#import <SomeModule/SomeModule.h>
#define __HAS_SOME_MODULE_FRAMEWORK__
#endif

稍后在您的代码中:

- (void)doSomething {
#ifdef __HAS_SOME_MODULE_FRAMEWORK__
// with  SomeModule framework
#else
// without  SomeModule framework
#endif
}

相关内容

  • 没有找到相关文章

最新更新