【问题标题】:iOS React Native - The operation couldn’t be completed. No such file or directoryiOS React Native - 操作无法完成。没有相应的文件和目录
【发布时间】:2015-12-04 09:24:14
【问题描述】:

从昨天开始,我无法再测试我的 React-Native 应用程序(无论是在模拟器上还是在设备上)。我确实卸载了Xcode并重新安装。我现在正在使用init AwesomeProject 文件进行测试。 Xcode 报告“构建成功”并开始显示启动屏幕,但随后我收到以下消息

"[error][tid:main] 操作无法完成。没有那个文件或目录"

模拟器包含消息

“RCTFatal”和“RCTBatchedBridge stopLoadingWithError”

等 看起来像这样: Screenshot of ErrorMessage

重要提示:我能够构建一个干净的仅适用于 iOS 的测试应用,其构建运行成功。

【问题讨论】:

    标签: ios xcode react-native


    【解决方案1】:

    我也遇到过这个问题,我认为它与https://github.com/facebook/react-native/issues/3174 上讨论的相同,问题涉及 IPv4/IPv6。

    什么对我有用:我在AppDelegate.m 中输入了一个 IPv6 地址。这适用于模拟器(iOS 8.4/9.0/9.1)设备(iPhone、iOS 9.1):

    • 您的 IPv6 地址是:ifconfig | grep inet6 | grep -v fe80::
    • AppDelegate.m 中用括号括起来,这样:
    jsCodeLocation = [NSURL URLWithString:@"http://[abab:1234:1234:abab:aaaa:bbbb:1111:2222]:8081/index.ios.bundle?platform=ios&dev=true"];
    

    更详细的故事,关于AppDelegate.m 中的 IPv4/6 地址:

    • 在模拟器中:
      • iOS 9.0 和 9.1:
        • IPv4 不工作,但主机名如 localhost 可以
        • IPv6 工作
      • iOS 8.4:
        • IPv4 和 IPv6 工作
    • 在设备上,装有 iOS 9.1 的 iPhone:
      • IPv4 实际上对我有用
      • IPv6 也可以使用

    【讨论】:

      【解决方案2】:

      在您的 AppDelegate.m 文件中,检查以下行

      jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];
      

      如果路径没有设置为 localhost,模拟器将无法工作。如果您想在手机中运行该应用程序,请使用您的 IP 地址而不是 localhost。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-11-13
        • 1970-01-01
        • 2012-12-24
        • 2023-03-17
        • 1970-01-01
        • 2016-02-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多