我有一个React-Native应用程序,我正试图在发布模式下部署到我的手机。我可以将应用程序捆绑到手机上。数据库,视频和音频资产都在那里,但UI中没有显示图像。
我已完成以下操作以“捆绑”我的应用:
react-native bundle --platfrom ios --dev false --entry-file index.ios.js --bundle-output main.jsbundle
中的项目文件夹中的main.jsbundle
文件的引用拖到myapp
文件夹AppDelegate.m
并取消注释jsCodeLocation = [[NSBundle mainBundle]…
Product > Scheme > Edit Scheme
,然后将Build Configuration
更改为Release
myapp
,然后:
在TARGETS: myappTests
>下Build Phases
> Link Binary With Libraries
按+
选择Workspace
> libReact.a
和Add
当我尝试使用../node_modules/react-native/packager/react-native-xcode.sh
中的myapp > targets > myapp > Bundle React Native code and images
设置在XCode中编译时,它会失败并显示error code 1
。
我已经看过关于这个帖子的LOADS,我已经尝试过了:
Run script only when installing
- 应用程序然后安装但没有图像source ~/.bash_profile
添加到react-native-xcode.sh - 应用构建失败任何帮助将不胜感激!
答案 0 :(得分:17)
当你生成bundle时,也把--assets-dest ./
“react-native bundle --platform ios --assets-dest ./ --dev false --entry-file index.ios.js --bundle-output iOS / main.jsbundle”
它将生成main.jsbundle和Assets文件夹。转到您的Xcode,右键单击添加要投影的文件,并将main.jsbundle文件添加到项目中。同时拖放Assets文件夹并选择按引用创建(注意:不要选择创建组)。
我正在使用反应0.33, main.jsbundle使用资产(小a)文件夹但生成资产(上限A)。我刚刚将生成的文件夹从Assets更改为assets并将其导入xcode并开始工作
答案 1 :(得分:12)
是xcode或文件系统中的图片吗?我在包参数中看不到--assets-dest
react-native bundle --minify --dev false --assets-dest ./ios --entry-file index.ios.js --platform ios --bundle-output ios/main.jsbundle
还将assets文件夹添加到xcode,就像捆绑包一样。
请注意,只有正确要求才会复制图片资源,请参阅documentation
答案 2 :(得分:0)
在您的Rn项目根目录中运行以下命令:
react-native包--entry-file ='。/ index.js'--bundle-output ='。/ main.jsbundle'--dev = false --platform ='ios'--assets-dest ='。/ ios'
然后在XCode中将文件夹的引用添加到您的项目中。
答案 3 :(得分:0)
对于 ios 14 : 进入这个目录: node_modules/react-native/Libraries/Image 并打开 RCTUIImageViewAnimated.m 然后在这部分添加 else 条件:
if (_currentFrame) {
layer.contentsScale = self.animatedImageScale;
layer.contents = (__bridge id)_currentFrame.CGImage;
} else {
[super displayLayer:layer];
}