1
0
Code Issues Pull Requests Packages Projects Releases Wiki Activity GitHub Gitee

Merge remote-tracking branch 'origin/master'

This commit is contained in:
tdzl2003 2016-05-04 23:46:16 +08:00
commit 73684eb576
5 changed files with 42 additions and 15 deletions

View File

@ -28,7 +28,7 @@ $ npm install --save react-native-update
#### pushy diffFromApk <apkFile> <next>
提供一个apk文件和一个ppk文件生成从ipa文件到next版本的差异更新包。
提供一个apk文件和一个ppk文件生成从apk文件到next版本的差异更新包。
如果使用热更新开放平台,你不需要自己执行此命令。

View File

@ -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版本记做不同的应用。

View File

@ -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或VS2015VS2010及以前版本不可用
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
// ... 其它代码
}
```

View File

@ -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`中找到你的应用包。
然后运行如下命令

View File

@ -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];