【问题标题】:React native could not connect to development server. iOS 14.4 [react-native]React Native 无法连接到开发服务器。 iOS 14.4 [反应原生]
【发布时间】:2021-06-14 21:11:05
【问题描述】:

我不知道我的 react-native 项目有什么问题 我写了 "npx react-native run-ios --simulator "myDevice" 并且我有一个带有以下消息的红屏:

无法连接到开发服务器。

确保以下几点:

  • 节点服务器正在运行并在同一网络上可用 - 从 react-native root 运行“npm start”
  • 在 AppDelegate 中正确设置了节点服务器 URL
  • WiFi 已启用并连接到与节点服务器相同的网络

网址: http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=org.reactjs.native.example.citas

RCTF致命 __28-[RCTCxxBridge 处理错误:]_block_invoke _dispatch_call_block_and_release _dispatch_client_callout _dispatch_main_queue_callback_4CF CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE __CFRunLoopRun CFRunLoopRunSpecific GSEventRunModal -[UIApplication _run] UIApplicationMain 主启动 0x0

我使用当前计算机的 IP 在 info.plist 更改了我的 URL,但没有工作,我对此感到非常困惑。如何将我的节点服务器与 react-native 连接?

非常感谢!

这里有我的设置: 卡特琳娜 10.15.4 iOS 14.4 反应原生 cli:2.0.1 反应原生:0.64.2 节点:v14.17.0 npm:v6.14.13

PodFile

require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

platform :ios, '10.0'

target 'citas' do
  config = use_native_modules!

  use_react_native!(
    :path => config[:reactNativePath],
    # to enable hermes on iOS, change `false` to `true` and then install pods
    :hermes_enabled => false
  )

  target 'citasTests' do
    inherit! :complete
    # Pods for testing
  end

  # Enables Flipper.
  #
  # Note that if you have use_frameworks! enabled, Flipper will not work and
  # you should disable the next line.
  #use_flipper!()

  post_install do |installer|
    react_native_post_install(installer)
  end
end

Info.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>en</string>
    <key>CFBundleDisplayName</key>
    <string>citas</string>
    <key>CFBundleExecutable</key>
    <string>$(EXECUTABLE_NAME)</string>
    <key>CFBundleIdentifier</key>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>$(PRODUCT_NAME)</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>1</string>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
        <key>NSAllowsArbitraryLoadsInWebContent</key>
        <true/>
        <key>NSAllowsLocalNetworking</key>
        <true/>
        <key>NSExceptionDomains</key>
        <dict>
            <key>jsCodeLocation = [NSURL URLWithString:@&quot;http://192.168.0.19:8081/index.ios.bundle?platform=ios&amp;dev=true&quot;];</key>
            <dict>
                <key>NSExceptionAllowsInsecureHTTPLoads</key>
                <true/>
            </dict>
        </dict>
    </dict>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string></string>
    <key>UILaunchStoryboardName</key>
    <string>LaunchScreen</string>
    <key>UIRequiredDeviceCapabilities</key>
    <array>
        <string>armv7</string>
    </array>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
    <key>UIViewControllerBasedStatusBarAppearance</key>
    <false/>
</dict>
</plist>

  

【问题讨论】:

    标签: react-native react-native-ios npx


    【解决方案1】:

    我每天都被卡住,问题与Watchman 权限有关。查看经过验证的解决方案,我希望这对某人有所帮助

    Homebrew Permissions for Watchman on Muti-user Mac

    【讨论】:

      【解决方案2】:

      你确定你有一个名为“myDevice”的模拟器吗?

      通常,我们使用设备名称,例如 iPhone 12 Pro

      react-native run-ios --simulator="iPhone 12 Pro"
      

      您可以尝试运行一次吗 另外,你不需要指定本地机器的ip地址,写localhost就够了

      <dict>
        <key>localhost</key>
          <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
              <true/>
          </dict>
      </dict>
      

      【讨论】:

        猜你喜欢
        • 2021-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-03
        • 2017-10-11
        • 2016-10-20
        • 2020-05-14
        • 1970-01-01
        相关资源
        最近更新 更多