Jef*_*jan 4 android ios react-native
嗨,我正尝试使用以下代码创建一个脱机捆绑包,以响应本机iOS进行测试
react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios
Run Code Online (Sandbox Code Playgroud)
完成此操作后,我尝试使用命令运行该应用程序,react-native run-ios --configuration=release一旦完成,该应用程序将打开并立即崩溃。因此,我react-native run-ios这次使用的应用是在本地开发服务器上打开的,如果我终止开发服务器,则会收到未处理的JS异常错误。对于Android,我尝试了以下步骤以使其正常运行。
mkdir android/app/src/main/assetsreact-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/resreact-native run-android即使终止本地开发服务器,该应用程序也可以在Android上运行。对于构建适用于iOS的脱机捆绑包的任何帮助,均表示赞赏。
编辑1:
使用命令捆绑iOS后
react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios
Run Code Online (Sandbox Code Playgroud)
我能够在iOS目录中生成main.jsbundle,然后执行以下步骤。
删除了所有文件,App Transport Security Settings并Allow Arbitrary Loads(true)在Info.plist文件中添加了文件。
编辑运行编辑方案以发布
从更改了jsCodeLocation
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@“ index” fallbackResource:nil];
至
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
Run Code Online (Sandbox Code Playgroud)
执行上述步骤后,出现以下错误
File /Users/jeffreyrajan/Library/Developer/Xcode/DerivedData/app_prod-fnewtufemaynsoedmhggmfjynoti/Build/Products/Release-iphonesimulator/app_prod.app/main.jsbundle does not exist. This must be a bug with
+ echo 'React Native
Run Code Online (Sandbox Code Playgroud)
这是项目结构
当前版本:
看来运行bundler命令的构建脚本不能正确处理文件路径中的空格字符。从您发布的屏幕快照中可以看到,项目的路径在React-Native Projects目录中包含空格字符。
如果将目录重命名为例如React-Native-Projects,则存档构建将正常运行。
通常,将目录和文件名限制为字母数字字符是一种很好的开发人员做法,因为许多Unix工具都要求转义其他字符类型。
| 归档时间: |
|
| 查看次数: |
1730 次 |
| 最近记录: |