Ios React本机脱机捆绑包-图像未显示

Ios React本机脱机捆绑包-图像未显示,ios,xcode,react-native,Ios,Xcode,React Native,我有一个React本机应用程序,我正试图在发布模式下部署到我的手机上。我可以将应用程序捆绑到手机上。数据库、视频和音频资产都在其中,但UI中没有显示任何图像 我已完成以下“捆绑”我的应用程序: 在Terminal runreact native bundle--platfrom ios--dev false--entry file index.ios.js--bundle output main.jsbundle的项目文件夹中 将对main.jsbundle文件的引用拖动到myapp文件夹下的X

我有一个React本机应用程序,我正试图在发布模式下部署到我的手机上。我可以将应用程序捆绑到手机上。数据库、视频和音频资产都在其中,但UI中没有显示任何图像

我已完成以下“捆绑”我的应用程序:

  • 在Terminal run
    react native bundle--platfrom ios--dev false--entry file index.ios.js--bundle output main.jsbundle的项目文件夹中
  • 将对
    main.jsbundle
    文件的引用拖动到
    myapp
    文件夹下的XCode中
  • 在XCode中,打开
    AppDelegate.m
    并取消注释
    jsCodeLocation=[[NSBundle mainBundle]…
  • 打开
    产品>方案>编辑方案
    ,然后将
    构建配置
    更改为
    发布
  • 在项目导航器下选择
    myapp
    ,然后: 在
    目标下:myappTests
    构建阶段
    将二进制文件与库链接
    +
    选择
    Workspace
    libReact.a
    Add
  • 当我尝试在XCode中使用
    。/node\u modules/react native/packager/react native XCode.sh
    设置在
    myapp>targets>myapp>Bundle react native code and images
    中编译时,它失败,错误代码为
    1

    我在这上面看到了很多帖子,我试过:

    • 要检查
      仅在安装时运行脚本
      -然后安装应用程序,但不安装图像
    • source~/.bash_profile
      添加到react-native-xcode.sh-应用程序构建失败

    非常感谢您的帮助!

    这些图像是在xcode中还是在文件系统中?我在您的bundle参数中没有看到
    --assets dest

    react-native bundle  --minify --dev false --assets-dest ./ios --entry-file index.ios.js --platform ios --bundle-output ios/main.jsbundle
    
    还可以像bundle一样将资产文件夹添加到xcode


    请注意,只有在正确需要图像资源时才会复制它们,请在生成bundle时参见

    ,也可以是put--assets dest/

    “react native bundle--平台ios--资产dest./--dev false--条目文件index.ios.js--bundle输出ios/main.jsbundle”


    它将生成main.jsbundle和Assets文件夹。转到您的Xcode,右键单击Addfilestoproject并将main.jsbundle文件添加到project。还可以拖放Assets文件夹并选择create by reference(注意:不要选择create group)

    我用的是0.33,
    main.jsbundle正在使用assets(小a)文件夹,但正在生成assets(Caps a)。我刚刚将生成的文件夹从assets更改为assets,并将其导入xcode,然后它开始工作

    在您的Rn项目根目录中运行此命令:

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

    并在XCode中将文件夹的引用添加到项目中。

    对于ios 14: 转到以下目录: 节点\模块/反应本机/库/映像 并打开RCTUIImageViewAnimated.m,然后将else条件添加到此部分:

    if (_currentFrame) {
    layer.contentsScale = self.animatedImageScale;
    layer.contents = (__bridge id)_currentFrame.CGImage;
    } else {
    [super displayLayer:layer];
    }
    

    谢谢!我会试一试的!这个命令的结果是:未知选项'--minify',有什么想法吗?@Moussawi7 minify标志已经包含在-dev标志--dev[boolean]中如果为false,则警告被禁用,捆绑包为Minifei。我也有同样的问题,你解决了吗?目前还没有,但我的同事相当肯定,这与我的节点安装的别名有关……我们需要调查一下。他可以以相同的方式捆绑,并且一切正常。显然,选择通过引用创建而不是
    创建组
    。然后,您可以将
    资产
    文件夹作为一个整体添加到
    构建阶段>复制捆绑资源
    中,而不是每个单独的资产文件,这似乎会干扰RN查找它们的能力。还可以拖放资产文件夹并选择“通过引用创建”(注意:不要选择创建组)。(Y)(Y)(Y)(Y)(Y)(Y)(Y)(Y)(Y)(Y)(Y)(Y)我运气不好。不知道为什么。我以前没有遇到过问题。