Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
73684eb576
@ -28,7 +28,7 @@ $ npm install --save react-native-update
|
||||
|
||||
#### pushy diffFromApk <apkFile> <next>
|
||||
|
||||
提供一个apk文件和一个ppk文件,生成从ipa文件到next版本的差异更新包。
|
||||
提供一个apk文件和一个ppk文件,生成从apk文件到next版本的差异更新包。
|
||||
|
||||
如果使用热更新开放平台,你不需要自己执行此命令。
|
||||
|
||||
|
@ -1,9 +1,5 @@
|
||||
## 高级指南
|
||||
|
||||
#### 报错 NDK not configured.
|
||||
|
||||
你需要下载并安装NDK,然后设置到环境变量`ANDROID_NDK_HOME`中。
|
||||
|
||||
#### 过期的版本
|
||||
|
||||
你可以删除掉过期很久的版本。在一段时间后,版本会被真正清理。
|
||||
@ -42,6 +38,18 @@
|
||||
|
||||
## 常见问题
|
||||
|
||||
#### 报错 NDK not configured.
|
||||
|
||||
你需要下载并安装NDK,然后设置到环境变量`ANDROID_NDK_HOME`中。
|
||||
|
||||
#### iOS报错 Unable to execute JS call: __fbBatchedBridge is undefined
|
||||
|
||||
如果直接修改了jsCodeLocation,将不能在iOS模拟器上运行。可以使用真机测试。要在发布之前测试热更新功能,可以用adhoc方式发布测试包并进行测试。adhoc发布的包可以用于uploadIpa和生成差异包。
|
||||
|
||||
#### XCode报错 "_BZ2_bzRead", referenced from 等
|
||||
|
||||
在工程target的Build Phases->Link Binary with Libraries中加入libz.tbd、libbz2.1.0.tbd
|
||||
|
||||
#### 这个热更新服务收费吗?
|
||||
|
||||
目前我们的热更新服务完全免费,但限制每个账号不超过3个应用;每个应用不超过10个活跃的包和100个活跃的热更新版本;每个应用每个月不超过10000次下载。iOS和Android版本记做不同的应用。
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
首先你应该有一个基于React Native开发的应用,我们把具有package.json的目录叫做你的"应用根目录"。
|
||||
|
||||
如果你还没有初始化应用,请参阅[开始使用React Native](http://reactnative.cn/docs/0.22/getting-started.html#content)。
|
||||
如果你还没有初始化应用,请参阅[开始使用React Native](http://reactnative.cn/docs/getting-started.html#content)。
|
||||
|
||||
所以我们也假设你已经拥有了开发React Native应用的一切环境,包括`Node.js`、`npm`、`XCode`、`Android SDK`等等。
|
||||
|
||||
@ -11,14 +11,29 @@
|
||||
## 安装
|
||||
|
||||
在你的项目根目录下运行以下命令(不要输入开头的美元符号):
|
||||
|
||||
```bash
|
||||
$ npm install -g react-native-update-cli rnpm
|
||||
$ npm install --save react-native-update
|
||||
$ rnpm link react-native-update
|
||||
```
|
||||
|
||||
`npm install -g react-native-update-cli rnpm`这一句在每一台电脑上仅需运行一次。
|
||||
|
||||
* 注意 *
|
||||
|
||||
如果访问极慢或者显示网络失败,请使用淘宝镜像:
|
||||
```bash
|
||||
npm config set registry https://registry.npm.taobao.org --global
|
||||
npm config set disturl https://npm.taobao.org/dist --global
|
||||
```
|
||||
|
||||
> 其中第一句,在每一台电脑上仅需运行一次。
|
||||
* Windows平台请注意 *
|
||||
|
||||
1、你必须安装python 2.7以及一套C++环境(推荐VS2013或VS2015,VS2010及以前版本不可用)
|
||||
|
||||
2、如果使用VS2015,你需要设置`npm config set msvs_version 2015 --global`
|
||||
|
||||
|
||||
|
||||
## 配置Bundle URL(iOS)
|
||||
|
||||
@ -36,9 +51,13 @@ $ rnpm link react-native-update
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
||||
{
|
||||
|
||||
jsCodeLocation = [RCTHotUpdate bundleURL];
|
||||
// ... 其它代码
|
||||
#if DEBUG
|
||||
// 原来的jsCodeLocation
|
||||
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];
|
||||
#else
|
||||
jsCodeLocation=[RCTHotUpdate bundleURL];
|
||||
#endif
|
||||
// ... 其它代码
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
## 发布iOS应用
|
||||
|
||||
首先参考[文档-在设备上运行](http://reactnative.cn/docs/0.22/running-on-device-ios.html#content),
|
||||
首先参考[文档-在设备上运行](http://reactnative.cn/docs/running-on-device-ios.html#content),
|
||||
确定你正在使用离线包。然后点击菜单。
|
||||
|
||||
按照正常的发布流程打包`.ipa`文件(Product-Achieve),然后运行如下命令
|
||||
@ -22,8 +22,8 @@ $ pushy uploadIpa <your-package.ipa>
|
||||
|
||||
## 发布安卓应用
|
||||
|
||||
首先参考[文档-生成已签名的APK](http://reactnative.cn/docs/0.22/signed-apk-android.html#content)设置签名,
|
||||
然后在android文件夹下运行`./gradlew buildRelease`,你就可以在`android/app/build/outputs/apk/app-release.apk`中找到你的应用包。
|
||||
首先参考[文档-生成已签名的APK](http://reactnative.cn/docs/signed-apk-android.html#content)设置签名,
|
||||
然后在android文件夹下运行`./gradlew assembleRelease`,你就可以在`android/app/build/outputs/apk/app-release.apk`中找到你的应用包。
|
||||
|
||||
然后运行如下命令
|
||||
|
||||
|
@ -132,7 +132,7 @@ RCT_EXPORT_MODULE(RCTHotUpdate);
|
||||
{
|
||||
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
|
||||
|
||||
NSMutableDictionary *ret = [@{} mutableCopy];
|
||||
NSMutableDictionary *ret = [NSMutableDictionary new];
|
||||
ret[@"downloadRootDir"] = [RCTHotUpdate downloadDir];
|
||||
ret[@"packageVersion"] = [RCTHotUpdate packageVersion];
|
||||
ret[@"isRolledBack"] = [defaults objectForKey:keyRolledBackMarked];
|
||||
|
Loading…
Reference in New Issue
Block a user