当我运行一个react-native项目时,我得到一个错误,没有bundle URL,但我不知道我做了什么错误,我很困惑。


当前回答

我也有这个屏幕,但我的问题是前一天晚上我一直在使用代理(使用Charles监视来自RN env的网络请求)。

一旦我关闭代理应用程序构建/运行在我的模拟器没有任何问题。

其他回答

关闭当前正在运行的React Packager终端窗口,然后从Xcode重新运行你的iOS项目应该可以工作。

如果像我一样,您有一个在终端会话(.bashrc/.bash_profile)启动时执行的命令集,它等待输入(在我的例子中,是SSH Key的密码短语,带SSH -add),那么您将注意到它实际上阻止打开的终端启动Metro服务器!

尝试在启动时禁用该命令(或者至少在React Native打开的终端中禁用)。这对我很管用!

对于我的用例,我必须删除node_modules目录并运行npm install。

$ rm -rf node_modules   (make sure you're in the ios project directory)
$ npm install

如果你得到错误“dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.58。Dylib”,执行以下操作:

$ brew uninstall --force node --ignore-dependencies node
$ brew uninstall icu4c --ignore-dependencies icu4c
$ brew install icu4c
$ brew unlink icu4c && brew link icu4c --force
$ brew install node

$ npm install

请确保.plist文件中的ATS设置是正确的。

你可以在/ios/{{project_name}}/Info.plist找到这个文件

Localhost必须定义为异常请求目标,如下所示:

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

*(不要忘记在发布版本中删除此选项..)

首先关闭模拟器,然后在终端上运行这些程序

npm install

react-native run-ios