【问题标题】:Bundlejs error on release build in Xcode (react-native)Xcode 中发布版本的 Bundlejs 错误(react-native)
【发布时间】:2018-06-29 21:28:24
【问题描述】:

由于某种原因,我在通过 react-native 构建应用程序的发布版本时遇到以下错误。

*** 由于未捕获的异常“RCTFatalException:未处理的 JS 异常:t.typeof 不是函数”而终止应用程序。 (在 't.typeof("function"==typeof Symbol?Symbol.iterator:"@@iterator")' 中,'t.typeof' 未定义) (/Users/../THEAPP.app/main.jsbundle: 11)',原因:'未处理的 JS 异常:t.typeof 不是函数。 (在't.typeof("函数...'

这是我在 bundlejs 文件中发现的出现上述错误的代码源:

!(function(e){"use strict";var r,t=e.babelHelpers={};t.typeof="function"==typeof Symbol&&"symbol"===t.typeof("function"==typeof Symbol?Symbol.iterator:"@@iterator")?

我已经尝试了这两种发布版本的方法:

  1. 通过将方案编辑为发布包来制作包
  2. 使用以下命令自行导出捆绑包:react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios

我得到了这两个相同的错误。当然,这是在我将 AppDelegate.m 更改为以下内容之后:

//jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];

我还关注了 Github 问题中的 someone's response 并尝试了以下操作,但事后完全得到了另一个单独的问题:

我做到了:

npm uninstall -g babel-preset-env
npm install --save @babel/preset-env

将此添加到我的 package.json 文件中

 "babel": { "presets": ["@babel/preset-env", "react-native"] }

并在我的根项目中创建了一个.babelrc 文件:

{ "presets": ["@babel/preset-env", "react-native"] }

然后在 Xcode 构建中获取它:

环境

  • 操作系统:macOS High Sierra 10.13.4
  • 节点:9.11.1
  • npm:5.6.0
  • 守望者:4.9.1
  • Xcode:版本 9.4 (9F1027a)
  • 反应:16.3.1
  • 反应原生:0.55.4

【问题讨论】:

    标签: ios xcode react-native babeljs react-native-ios


    【解决方案1】:

    我通过完全重启我的应用程序并使用解决了这个问题:

    react-native init PROJECTNAME
    

    【讨论】:

      猜你喜欢
      • 2018-10-12
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-19
      • 1970-01-01
      相关资源
      最近更新 更多