【问题标题】:How to get offline bundling of iOS in React Native?如何在 React Native 中离线捆绑 iOS?
【发布时间】:2021-08-11 04:16:17
【问题描述】:

谁能解释一下如何从“react native”代码生成离线 iOS 应用程序包?

我已经尝试过How to generate .ipa file for react-native?,但它不起作用。

【问题讨论】:

    标签: react-native react-native-ios


    【解决方案1】:
    react-native run-ios --configuration=release
    

    将使用捆绑包在模拟器或设备上运行您的应用。

    或者只是从 Xcode 构建它(发布构建总是包含捆绑包) 或运行调试版本,但在此之前,您应该:

    react-native bundle --dev false --entry-file index.ios.js --bundle-output ios/main.jsbundle --platform ios
    

    另外,没有找到新的 react-native 版本 index.ios.js,因为我们需要运行它,

    react-native bundle --dev false --entry-file index.js --bundle-output ios/main.jsbundle --platform ios
    

    【讨论】:

    • 如何开启调试版本?是scheme > build configuration > release吗?
    • @StanislavMayorov 如果你想调试一个发布版本,最好有像 Sentry.io 这样的崩溃报告
    • 如果您在运行react-native run-ios --configuration Release 后收到main.jsbundle 不存在的错误,请确保您的项目路径中没有任何空白字符。 bundler 命令不能很好地处理空白字符。所以将/users/bob/project world domination之类的项目路径更改为/users/bob/project-world-domination
    【解决方案2】:

    我假设您希望在不将其部署到应用商店的情况下在 ios 设备上运行该应用。 如果是这样的话:

    首先我会确保我安装了ios-deploy

    你可以通过运行npm install -g ios-deploy来做到这一点

    然后将要安装应用程序的 iphone 连接到你的 mac。

    然后运行

    react-native run-ios --device "XYZ’s iPhone" --configuration=release
    

    这将创建一个离线 js 捆绑应用并将其安装到 iphone 上。

    PS:如果出现错误提示

    Signing for "<app name>" requires a development team. 
    Select a development team in the project editor.
    

    然后在 Xcode 中打开 ios/ 里面的项目,然后 选择目标 -> 常规选项卡 在签名下选择签名团队并选择自动管理签名。

    然后保存并重新运行该命令。

    【讨论】:

    • 执行此操作后,当我回到开发并运行我的项目时,我的 Metro 包没有加载。
    【解决方案3】:

    方法一

    第一步:

    react-native bundle --entry-file index.ios.js --bundle-output ./ios/main.jsbundle --platform ios
    

    第二步:

    react-native run-ios --configuration=release 
    

    这个工人给我。

    方法二 使用 xcode 并将调试更改为发布,如下所示:

    【讨论】:

    • 方法 1 对我不起作用。它刚刚创建了bundle,启动了模拟器,然后抛出了一个错误“No Bundle URL present”
    猜你喜欢
    • 2016-03-28
    • 2017-08-14
    • 2016-11-25
    • 2016-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多