为测试创建脱机构建:React Native

时间:2017-09-18 06:39:56

标签: ios react-native

我使用React Native开发了一款应用。但我想给最终用户测试。那么我们如何创建一个无需localhost加载所有资产和JS文件的构建?

我在Google上搜索了解决方案。我得到了一个答案,以下命令将帮助我。

react-native bundle --dev false --entry-file index.ios.js --bundle-output ios/main.jsbundle --platform ios

但它不再帮助我了。任何人都可以帮助在iOS中创建本地构建吗?

2 个答案:

答案 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个名为iosandrooid的文件夹。这些文件夹包含应用程序的平台特定项目。

对于iOS,您可以使用XCode打开项目,然后将构建更改为Release版本并构建它。在此步骤的后面,测试版发布过程与任何其他本机编写的应用程序几乎相同。