iOS上React Native中的BatchedBridge错误

iOS上React Native中的BatchedBridge错误,ios,react-native,Ios,React Native,我有一个简单的本机iOS应用程序,我想将React native集成到其中。打开视图控制器时,出现错误: > Error calling RCTLog.logIfNoNativeHook > > Unhandled JS Exception: Could not get BatchedBridge, make sure your > bundle is packaged correctly > > RCTFatal > -[RCTCxxBridge

我有一个简单的本机iOS应用程序,我想将React native集成到其中。打开视图控制器时,出现错误:

> Error calling RCTLog.logIfNoNativeHook
> 
> Unhandled JS Exception: Could not get BatchedBridge, make sure your
> bundle is packaged correctly
> 
> RCTFatal
> -[RCTCxxBridge handleError:]
> __34-[RCTCxxBridge _initializeBridge:]_block_invoke facebook::react::RCTMessageThread::tryFunc(std::__1::function<void ()>
> const&)
> facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void
> ()>&&)::$_1::operator()() const void
> std::__1::__invoke_void_return_wrapper<void>::__call<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void
> ()>&&)::$_1&>(facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void
> ()>&&)::$_1&&&)
> std::__1::__function::__func<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void
> ()>&&)::$_1,
> std::__1::allocator<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void
> ()>&&)::$_1>, void ()>::operator()() std::__1::function<void
> ()>::operator()() const invocation function for block in
> facebook::react::RCTMessageThread::runAsync(std::__1::function<void
> ()>)
> __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__
> __CFRunLoopDoBlocks
> __CFRunLoopRun CFRunLoopRunSpecific
> +[RCTCxxBridge runRunLoop]
> __NSThread__start__
> _pthread_body
> _pthread_body thread_start
我的环境:

>react-native info
Scanning folders for symlinks in /Users/[redacted]/Projects/native_rn_demo/node_modules (5ms)

Environment:

  OS: macOS Sierra 10.12.6
  Node: 8.9.0
  Yarn: 1.1.0
  npm: 5.6.0
  Watchman: 4.9.0
  Xcode: Xcode 9.2 Build version 9C40b
  Android Studio: 2.3 AI-162.4069837

Packages: (wanted => installed)
  react: ^16.0.0 => 16.0.0
  react-native: ^0.51.0 => 0.51.0

我已经搜索了这个问题,所有的解决方案都是针对Android的,在这里似乎不起作用。有什么想法吗?

好的,我通过将
index.js
重命名为
index.ios.js
修复了错误

我就是这样解决的

终止metro bundler>反应本机链接>反应本机运行ios


它没有绑定,因为一些错误没有显示在模拟器中,只是绑定失败了。在我从开始重新绑定包后,它解决了错误。

对于我的情况,我忘记关闭我的metro绑定器,所以当我退出终端窗口并重建项目时,它运行良好。

Hi@Macondo2Seattle,将我的项目从RN 0.39升级到0.52(是的,我知道),我遇到的问题与上面的问题完全相同:调用RCTLog.logIfNoNativeHook时出错。我试图将index.js更改为index.ios.js,但没有修复任何问题。您是否碰巧做了其他事情来修复此错误?我找不到关于那件事的任何东西。非常感谢@纪尧姆斯。我也有同样的问题,只是通过所有文件index.js、index.android.js和index.ios.js解决了这个问题。“试试看,如果有帮助的话就发表评论。”纪尧姆斯。据我记忆所及,重命名文件是我必须做的全部工作。在删除节点_模块和resintall后,rn 0.55.4仍会遇到此问题。有办法吗?
>react-native info
Scanning folders for symlinks in /Users/[redacted]/Projects/native_rn_demo/node_modules (5ms)

Environment:

  OS: macOS Sierra 10.12.6
  Node: 8.9.0
  Yarn: 1.1.0
  npm: 5.6.0
  Watchman: 4.9.0
  Xcode: Xcode 9.2 Build version 9C40b
  Android Studio: 2.3 AI-162.4069837

Packages: (wanted => installed)
  react: ^16.0.0 => 16.0.0
  react-native: ^0.51.0 => 0.51.0