react-native ios"无法连接到开发服务器"和" __ fbBatchedBridge未定义"错误

时间:2016-06-22 03:01:57

标签: ios react-native

react-native ios"无法连接到开发服务器"和" __ fbBatchedBridge未定义"错误

我是反应原生的新生。我试过部署一个" hello world" app根据官方文件。但失败了。

我在这里尝试:

  • 根据官方网站安装所有依赖项
  • 使用命令react-native init HelloWorld初始化我的本地项目(起初我的项目名称为try,但它是一个保留关键字,因此我更改为HelloWorld
  • 使用npm install
  • 安装所有node_modues
  • 尝试使用命令react-native run-ios
  • 运行我的项目

我的环境是:

  • osx 10.10.5
  • 守望者4.5
  • xcode 7.2.1
  • react-native-cli 1.0.0
  • react-native 0.28.0
  • 反应15.1.0

运行命令react-native run-ios后,出现红色背景错误:

  

Cound无法连接到开发服务器。

     

确保以下内容:

     
      
  • 节点服务器正在运行且在同一网络上可用 - 运行  npm start'来自react-native root
  •   
  • 在AppDelegate中正确设置节点服务器URL
  •   
     

网址:http://localhost:8081/index.ios.bundle?platform-ios&dev=true

我搜索了谷歌,发现这是一个常见的问题,主要是由于osx 9.0安全策略。

我通读github issue: cound not connect to development server并检查并修改我的项目:

  • 确保NSAppTransportSecurity设置中的Info.plist正常。

    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
    
  • 尝试将jsCodeLocation中的AppDelegate.mlocalhost更改为my local network ip(事实上,我可以访问我的Chrome浏览器中的jsCodeLocation [localhost],但是我无论如何,根据github问题改变了我的ip,只是尝试)

当我重试命令&#34; react-native run-ios&#34;时,连接错误消失了,但是出现了另一个错误&#34; __ fbBatchedBridge未定义&#34;

  

无法执行JS调用:__ fbBatchedBridge未定义

     

RCTFatal + 104   ...

我仔细阅读了github问题:github->facebook/react-native/issues/6282,并尝试评论以下行github->facebook/react-native/blob/master/packager/react-native-xcode.sh#L15-L18

#    if [[ "$PLATFORM_NAME" = "iphonesimulator" ]]; then        
#      echo "Skipping bundling for Simulator platform"      
#      exit 0;      
#    fi

但什么都没发生。有人可以帮忙吗?谢谢。

2 个答案:

答案 0 :(得分:0)

您选择的项目名称try是javascript中的保留字。这将从一开始就产生问题。例如,它将生成类名try,如下所示:

/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 * @flow
 */

import React, { Component } from 'react';
import {
  AppRegistry,
  StyleSheet,
  Text,
  View
} from 'react-native';

class try extends Component {
  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Welcome to React Native!
        </Text>
        <Text style={styles.instructions}>
          To get started, edit index.ios.js
        </Text>
        <Text style={styles.instructions}>
          Press Cmd+R to reload,{'\n'}
          Cmd+D or shake for dev menu
        </Text>
      </View>
    );
  }
}

这将导致错误和不可预测性。尝试使用类似MyApp之类的东西生成一个新的反应原生应用程序,并再试一次。

答案 1 :(得分:0)

我已经解决了这个问题。

原因简单而愚蠢,

只需在主机中添加localhost 127.0.0.1,问题就会消失。