【问题标题】:importing different bridging header between multiple target在多个目标之间导入不同的桥接头
【发布时间】:2018-01-25 08:17:42
【问题描述】:

我有两个目标分别用于 watch OS 和不带手表。 我必须导入 briding header 如下。消息实用程序已添加到两个目标。但它给编译器 error as

“使用未声明的标识符 MessageUtil”。

#import "SomeClass.h"

#ifdef TARGET_OS_WATCH
#import "Watch-Header.h"
#import "With_Watch-Swift.h"
#elif TARGET_OS_IOS
#import "Without_Watch-Header.h"
#import "Without_Watch-Swift.h"
#endif

@implementation SomeClass

-(id)init {
    self = [super init];
    if(self) {
        self.message = [MessageUtil messageOne];//MessageUtil is swift class.
    }
    return self; }

@end

【问题讨论】:

  • SomeClass 的目标设置了什么?
  • ComeClass 有多个目标。
  • 尝试删除从#ifdef#endif 的所有内容,并导入MessageUtil 暴露的"With_Watch-Swift.h""Without_Watch-Swift" 之一。
  • 感谢您的建议。虽然我的需求是基于目标导入的。

标签: ios objective-c swift watch


【解决方案1】:

您可以为其他目标创建额外的Bridging-Header.h,然后只需在Build Settings -> Objective-C Bridging Header 中指定新创建的桥接头位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 1970-01-01
    相关资源
    最近更新 更多