React-native Xcode构建失败 - > '找不到RCTAssert.h文件'

时间:2015-08-27 13:03:56

标签: react-native

我完成了React-native入门指南中描述的步骤:

https://facebook.github.io/react-native/docs/getting-started.html

当我打开项目并构建它时,构建失败:

  在MyProjectNameTests.m中找不到

RCTAssert.h文件。

我错过了什么?

以下是入门指南中的步骤:

  

要求

     

OS X - 此repo目前仅包含iOS(7+)实现,   和Xcode只能在Mac上运行。

     

建议使用Xcode 6.3或更高版本。

     

Homebrew是安装io.js,watchman和flow的推荐方法。

     

安装io.js 1.0或更新版本。 io.js是Node的现代版本。

     

在此处安装nvm及其设置说明。然后运行安装最新版本的nvm install iojs-v2 && nvm alias default iojs-v2   兼容的io.js版本并设置您的终端以便输入   节点运行io.js.使用nvm,您可以安装多个版本的Node   和io.js之间可以轻松切换。

     

npm新手?

     

brew install watchman。我们建议安装看门人,否则   你可能会看到一个观察bug的节点文件。

     

brew install flow。如果你想使用流量。我们推荐   定期运行brew update && brew upgrade以保持您的   程序是最新的。

     


     

快速入门

npm install -g react-native-cli

react-native init AwesomeProject
     

在新创建的文件夹AwesomeProject /

中      

打开AwesomeProject。 xcodeproj并在Xcode中运行。打开index.ios.js   在您选择的文本编辑器中并编辑一些行。点击你的cmd + R.   iOS模拟器重新加载应用程序并查看您的更改!

7 个答案:

答案 0 :(得分:23)

测试应用程序无法找到标题,因为它不在标题搜索路径中。

在左侧文件列表中,点击左上方"文件夹"图标,然后在左上角选择您的应用程序。在这种情况下" AwesomeProject"。

在右侧,出现应用程序图标的位置,按住以更改为AwesomeProjectTests。

然后向下滚动到页眉搜索路径并更改" $(SRCROOT)/ node_modules / react-native / React" to" $(SRCROOT)/../ node_modules / react-native / React"。

该应用程序现在应该编译。

答案 1 :(得分:2)

我和daniel有同样的问题,但我已经在xcode中找到了正确的路径......

0.10.0是我的版本

答案 2 :(得分:2)

这是0.10.0中的一个问题,现在已经修复了。

您需要重新生成项目。请参阅此PR:https://github.com/facebook/react-native/pull/2474

答案 3 :(得分:0)

我遇到了同样的问题(我刚刚更改了Apple ID密码)。我需要重做code signing configuration

答案 4 :(得分:0)

在测试上述解决方案中的任何选项之前,只需清洁您的xCode并再次构建该应用程序即可。那对我有帮助

答案 5 :(得分:0)

这是我在React Native项目上发生的。

我将代码回滚到了我知道已成功构建的版本,并且 still 出现了此错误。这怎么可能?我一生有两个小时,我永远都不会回来。我是在这里写这封信的,目的是让我摆脱同样的命运。

以我的情况为例,当我从将我的react-native项目编写为代码的IDE跳到Xcode时,我从Spotlight打开了它。

Opening Xcode from Spotlight

这时,很容易单击右侧的错误图标。我不小心单击了Xcodeproj文件而不是Xcworkspace。容易做到,一旦加载所有内容看起来完全一样,我再也不明智了。

唯一出错的迹象是构建错误。更糟糕的是,此错误看起来像是依赖性管理问题,使您完全无法通过错误尝试解决问题。

这不仅是特定于React Native的问题,而且所有Cocoapod用户都需要记住。

答案 6 :(得分:-1)

添加到Podfile的React路径

platform :ios, '9.0'

target 'YourProject' do
...
pod 'React', :path => '../node_modules/react-native'

end

target 'RNFirebaseTests' do
...
pod 'React', :path => '../node_modules/react-native'

end