构建react-native app时:架构的未定义符号gxx_personality_v0

时间:2017-01-20 20:06:45

标签: ios react-native

我只是按照本机文档的反应来构建应用程序以在设备上运行或发布它[1]。

我遇到了以下错误,即使在一个全新的反应原生应用上也是如此。该应用程序在模拟器中运行良好。

  

架构i386的未定义符号:“___ gxx_personality_v0”,
  引用自:   libRact.a中的_RCTDefaultLogFunction_block_invoke(RCTLog.o)
  libRact.a中的_RCTFormatLog(RCTLog.o)
  lib.React.a中的___RCTAddLogFunction_block_invoke(RCTLog.o)
  libReact.a中的_RCTPerformBlockWithLogFunction(RCTLog.o)
  libReact.a中的_RCTPerformBlockWithLogPrefix(RCTLog.o)
  libReact.a中的RCTGetLocalLogFunction()(RCTLog.o)
  lib.React.a中的___ RCTPerformBlockWithLogPrefix_block_invoke(RCTLog.o)
  ...
  ld:找不到架构i386 clang的符号:错误:链接器命令失败,退出代码为1(使用-v查看调用)

我基本上在做

react-native init SampleApp
... generates app
react-native run-ios # works fine (on simulator)
react-native run-ios --configuration Release # fails with the error above.

如果我打开XCode项目,将Scheme更改为Release并尝试构建,则失败。

发生了什么事?看起来我错过了一个图书馆?我如何检查它? (我是初学者和iOS的新手,所以不要以为我知道多少:)。

谢谢!

-

[1] https://facebook.github.io/react-native/docs/running-on-device.html

1 个答案:

答案 0 :(得分:0)

我有这个确切的错误并通过这些说明解决了它:

我刚刚通过在Xcode中删除并创建我的方案来修复此问题(信用转到此SO帖子)。这是我在Xcode 7.3.1中所做的:

Open your project in Xcode.
Click Product > Scheme > Manage Schemes.
Select the scheme for your project, then click the minus (—) near the 
    bottom left to delete it.
Now click the plus (+) to create a new scheme for your project.

这就是我所要做的一切,但是:)