React-Native Offline Bundle - 图像未显示

scg*_*ugh 15 xcode ios react-native

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

我已经做了以下"捆绑"我的应用程序:

  1. 在终端运行的项目文件夹中 react-native bundle --platfrom ios --dev false --entry-file index.ios.js --bundle-output main.jsbundle
  2. 将对main.jsbundle文件的引用拖到myapp文件夹下的XCode中
  3. 在XCode中,打开AppDelegate.m并取消注释jsCodeLocation = [[NSBundle mainBundle]…
  4. 打开Product > Scheme > Edit Scheme然后Build Configuration改为Release
  5. 选择myapp项目浏览器下,然后:在TARGETS: myappTests> Build Phases> Link Binary With Libraries+ 选择Workspace> libReact.aAdd

当我尝试在XCode中编译时,其中的../node_modules/react-native/packager/react-native-xcode.sh设置myapp > targets > myapp > Bundle React Native code and images失败了error code 1.

我已经看过关于这个帖子的LOADS,我试过了:

  • 检查Run script only when installing- 应用程序然后安装但没有图像
  • 添加source ~/.bash_profile到react-native-xcode.sh - 应用程序构建失败

任何帮助将不胜感激!

Din*_*rma 19

当你生成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并开始工作

  • 同时拖放 Assets 文件夹并选择通过引用创建(注意:不要选择创建组)。(Y)(Y)(Y)(Y)(Y)(Y)(Y)(Y)(Y)(Y) (3认同)
  • 显然,选择“通过引用创建”与“创建组”确实是有区别的。然后,您可以将“assets”文件夹作为一个整体添加到“Build Phases > Copy Bundle Resources”中,而不是添加每个单独的资源文件,这似乎会干扰 RN 查找它们的能力。 (2认同)

pap*_*tas 13

是xcode或文件系统中的图像?,我没有看到--assets-dest你的捆绑参数

react-native bundle  --minify --dev false --assets-dest ./ios --entry-file index.ios.js --platform ios --bundle-output ios/main.jsbundle
Run Code Online (Sandbox Code Playgroud)

还将assets文件夹添加到xcode中,就像捆绑包一样.

请注意,只有在正确要求时才复制图像资源,请参阅文档