如何创建Objective-C桥接头?

4
我正在遵循添加OneSignal到React Native的此指南,其中有一个部分如下所述:
打开NotificationService.m或NotificationService.swift文件,并用下面的代码替换整个文件内容:
<提供添加的代码>
如果您使用的是Swift,请确保为您的OneSignalNotificationExtensionService创建单独的Objective-C Bridging Header并添加以下导入:
#import "RCTOneSignalExtensionService.h" 然后,您需要告诉Xcode项目设置您的桥接头的名称,就像这样。
因为我项目中只有其中一个文件,即NotificationService.swift,所以我添加了他们提供的代码。因此,我认为我正如他们所说的“使用swift”。问题在于,当他们说要“创建一个单独的Objective-C Bridging Header”时,我不知道该如何做。我能找到的所有在线信息都是说,当您将Objective-C代码导入Swift项目时,Xcode应自动提示您创建桥接头。但是我的Xcode没有这样做。
有人知道我如何创建Objective-C桥接头吗?

3
在Xcode中,您可以使用 文件 > 新建。 - trojanfoe
1个回答

1
你需要创建一个新的Objective-C类:

You select New File

然后。

select cocoa touch class

然后您可以给它命名,并将其指定为Objective-C类的语言。

select objective-c as language

然后您选择目录并点击创建。此时,Xcode将询问您是否要创建桥接头文件。是的,请执行此操作。

enter image description here

最终在您的项目中,它应该看起来像这样或类似于此。

Job done

希望这能帮到您。

它只是说要创建一个桥接头文件,你确定我要创建一个完整的Objective-C类,而不仅仅是创建头文件吗? - gkeenley
你可以通过手动添加桥接头文件来实现,但是你需要将构建设置设置为该桥接头文件。或者你可以添加一个类,Xcode会为你完成这个过程。由你决定。 - Murmeltier
桥接头有时不会随这些操作创建,因此答案是无用的。 - Vyachaslav Gerchicov
1
这个答案依赖于欺骗Xcode注意到你需要这个头文件。有时候有效,有时候无效。例如,在Xcode 12中,这从来没有起作用过。 - Bill Patterson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接