Ios React本机脱机捆绑包-图像未显示
我有一个React本机应用程序,我正试图在发布模式下部署到我的手机上。我可以将应用程序捆绑到手机上。数据库、视频和音频资产都在其中,但UI中没有显示任何图像 我已完成以下“捆绑”我的应用程序: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 native bundle--platfrom ios--dev false--entry file index.ios.js--bundle output main.jsbundle的项目文件夹中
main.jsbundle
文件的引用拖动到myapp
文件夹下的XCode中AppDelegate.m
并取消注释jsCodeLocation=[[NSBundle mainBundle]…
产品>方案>编辑方案
,然后将构建配置
更改为发布
myapp
,然后:
在目标下:myappTests
构建阶段
将二进制文件与库链接
按+
选择Workspace
libReact.a
和Add
。/node\u modules/react native/packager/react native XCode.sh
设置在myapp>targets>myapp>Bundle react native code and images
中编译时,它失败,错误代码为1
我在这上面看到了很多帖子,我试过:
- 要检查
-然后安装应用程序,但不安装图像仅在安装时运行脚本
- 将
添加到react-native-xcode.sh-应用程序构建失败source~/.bash_profile
非常感谢您的帮助!这些图像是在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)我运气不好。不知道为什么。我以前没有遇到过问题。