在React Native上安装OneSignal-链接器命令失败,退出代码为1

时间:2019-01-22 17:45:19

标签: xcode reactjs react-native linker-errors onesignal

我将OneSignal安装到我的React Native应用程序中。我已经用the documentation(在没有“ Notification Service Extension”的列表中)成功安装了OneSignal。

然后,我开始遵循文档来安装“ Notification Service Extension”。但是,在我正确安装了“ Notification Service Extension”(遵循OneSignal文档说明)之后,包括桥接标头,我得到了一个错误。

我的错误位于OneSignalNotificationServiceExtension的目标中。这是我的错误:

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_RCTSRWebSocket", referenced from:
      objc-class-ref in libReact.a(RCTInspectorPackagerConnection.o)
  "_OBJC_CLASS_$_RCTReconnectingWebSocket", referenced from:
      objc-class-ref in libReact.a(RCTPackagerConnection.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

显然是由OneSignalNotificationServiceExtension引起的: image

但是我不知道为什么以及如何解决这个问题。Google并没有真正帮助我。 我的Header Search Paths的设置如文档中所示: image

Link Binary with Libraries部分也正确完成了! image

Cocoapods部分相同,但我确实认为我的问题与Link Binary with Libraries部分有关...但是,我不知道如何解决此问题。 >

将感谢您的任何帮助!

1 个答案:

答案 0 :(得分:0)

错误可能来自您的“测试”目标。很可能您的Podfile中没有完整的设置。因此,它尝试将ServiceExtension嵌入为测试的一部分,并且您会收到此错误。

2解决方案-不要构建测试,请将其从架构的构建部分中删除。我个人不在我的RN项目中使用xcode测试,所以这是我的解决方案。

其他解决方案-在Podfile中为测试目标添加一个部分,并确保其中包含所需的所有RN内容。