我使用React Native开发了一款应用。但我想给最终用户测试。那么我们如何创建一个无需localhost加载所有资产和JS文件的构建?
我在Google上搜索了解决方案。我得到了一个答案,以下命令将帮助我。
react-native bundle --dev false --entry-file index.ios.js --bundle-output ios/main.jsbundle --platform ios
但它不再帮助我了。任何人都可以帮助在iOS中创建本地构建吗?
答案 0 :(得分:6)
我在最近2-3天的研究后找到了答案。希望它对所有React-Native开发人员都有帮助。
以下是答案:
- >使用以下命令启动npm服务器到本地系统:
sudo npm run start
- >上面的命令将启动您的开发服务器。现在我们必须使用以下命令创建js包,以直接将我们的应用程序连接到js build:
适用于iOS:
$curl http://localhost:8081/index.ios.bundle -o main.jsbundle
适用于Android:
$curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
以上两个步骤将在主文件夹中为iOS和Android创建js包。现在按照以下步骤生成IPA和APK文件。
适用于iOS:
- >从ios文件夹中打开xcodeproj。将main.jsbundle拖到你的xcode项目中。
- >打开AppDelegate.m文件,您可以使用下面的代码行加载一个bundle。
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
或
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle"];
只需在您的代码中的上方注释,并将其放在代码行下面:
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
现在,你很高兴使用iOS ......
适用于Android:
打开终端并转到项目回购路径。使用以下命令编译项目:
./gradlew assembleRelease
将APK安装到您的设备中:
adb install {PATH_TO_APK}
现在你已准备好使用Android了..
希望这是对我所有人的意志......
答案 1 :(得分:0)
当您通过react-native-cli创建反应原生应用时,项目文件夹中有2个名为ios
和androoid
的文件夹。这些文件夹包含应用程序的平台特定项目。
对于iOS,您可以使用XCode打开项目,然后将构建更改为Release
版本并构建它。在此步骤的后面,测试版发布过程与任何其他本机编写的应用程序几乎相同。