我有一个React-Native应用程序,我正尝试以发布模式部署到我的手机。我可以将该应用程序捆绑到手机。数据库、视频和音频资源都在其中,但UI中没有显示图像。
我已执行以下操作来“捆绑”我的应用程序:
1.在终端的项目文件夹中运行react-native bundle --platfrom ios --dev false --entry-file index.ios.js --bundle-output main.jsbundle
1.将对main.jsbundle
文件的引用拖到myapp
文件夹下的XCode中
1.在XCode中,打开AppDelegate.m
并取消注解jsCodeLocation = [[NSBundle mainBundle]…
1.打开Product > Scheme > Edit Scheme
,然后将Build Configuration
更改为Release
1.选择项目导航器下的myapp
,然后:在TARGETS: myappTests
〉Build Phases
〉Link Binary With Libraries
下按+
选择Workspace
〉libReact.a
和Add
当我尝试在XCode中使用myapp > targets > myapp > Bundle React Native code and images
中的../node_modules/react-native/packager/react-native-xcode.sh
设置进行编译时,error code 1
失败。
我已经看到了负载的职位上,我已经尝试:
- 检查
Run script only when installing
-然后安装应用程序,但没有映像 - 将
source ~/.bash_profile
添加到react-native-xcode.sh-应用程序构建失败
任何帮助将不胜感激!
5条答案
按热度按时间jk9hmnmh1#
当您生成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文件夹并选择“通过引用创建”(注意:不要选择“创建组”)。我使用的是react 0.33,main.jsbundle使用的是assets(small a)文件夹,但生成的是Assets(Caps A)。我只是将生成的文件夹从Assets更改为assets,并将其导入xcode,它就开始工作了
3htmauhk2#
是图像在xcode或在文件系统?,我没有看到一个
--assets-dest
在你的捆绑包参数还可以像bundle一样将assets文件夹添加到xcode中。
请注意,只有在正确需要图像资产时才复制它们,请参阅documentation
cwtwac6a3#
对于IOS 14:转到以下目录:node_modules/react-native/Libraries/Image并打开RCTUIImageViewAnimated.m,然后将else条件添加到此部件:
3ks5zfa04#
在react原生项目根目录中运行以下命令:
react-native bundle --entry-file='./index.js' --bundle-output='./main.jsbundle' --dev=false --platform='ios' --assets-dest='./ios'
并在XCode中添加项目中文件夹的引用。
x7yiwoj45#
我在BuildPhases〉CopyBundleResources中将assets文件夹作为一个整体添加,并运行这个命令;
npxReact原生捆绑包--平台ios --资产目标/ --dev false --入口文件index.js --捆绑包输出ios/main.jsbundle
希望这能帮助到一些人。