我正在尝试使用Electrode(沃尔玛-http://www.electrode.io/site/docs/introduction.html)
虽然我可以让应用程序在我的Mac上本地工作,但我很难理解整个空中传送(OTA)更新是如何工作的。
以下是我到目前为止所做的
- 使用ern创建迷你应用程序TestApp创建了一个迷你应用程序
- 在BitBucket上创建了一个GIT存储库
- 创建了一个釜使用ern釜repo添加TestApp〔Bitbucket网址〕
- 使用ern釜添加了一个nativeeapp添加本地应用程序TestApp
但当我使用ern run ios运行应用程序时,它似乎仍然指向我的本地机器(我可以更新index-ios.js文件,它在应用程序中更新)。那么,让另一个程序员可以更新云/比特桶中的index-ios.js文件(我猜)并动态更新应用程序的整个OTA设置缺少什么呢?
如果我理解正确,OTA要工作,您需要使用代码推送命令。
ern code-push <miniapps..>
Options:
--help Show help [boolean]
--descriptor, -d Full native application selector (target native application version for the push)
--force, -f Force upgrade (ignore compatibility issues -at your own risks-)
--appName Application name
--deploymentName Deployment to release the update to [string]
--platform, -p Platform name (android / ios) [string]
--targetBinaryVersion, -t Semver expression that specifies the binary app version(s) this release is targeting (e.g. 1.1.0, ~1.2.3) [string]
--mandatory, -m Specifies whether this release should be considered mandatory [default: false]
--rollout, -r Percentage of users this release should be immediately available to [string] [default: "100%"]
--skipConfirmation, -s Skip final confirmation prompt if no compatibility issues are detected
More info about this command @ https://electrode.gitbooks.io/electrode-native/content/cli/code-push.html
我第二次尝试时就开始工作了——我在下面做的笔记如下:
我在网上搜索了一下,到处都用了一些,所以真的不能给你指一个简单的指南。。
先决条件
安装Homebrew
https://brew.sh/
安装ReactNative cli工具和codePush
brew安装节点
brew安装看门人
npm install-g react native cli
Npm安装-g代码推送cli
codePush寄存器
代码推送寄存器
(完成注册,通过再次运行此命令进行验证,它应该说:[Error]您已经从这台机器登录了。)
应用
react native init[AppName]Cd[AppName]npm安装-保存反应本机代码推送Npm安装(安装代码推送时出现问题,因此我们必须重新安装一些react原生元素)
代码推送应用程序add ReactApp ios react native(复制生产部署密钥)
React原生链接React原生代码推送(输入生产部署密钥)
编辑App.js
从"反应本地代码推送"导入代码推送
(从主应用程序类中删除"导出默认值")
const codePushOptions = {
checkFrequency: codePush.CheckFrequency.ON_APP_RESUME,
installMode: codePush.InstallMode.IMMEDIATE
}
导出默认的codePush(codePushOptions)(应用程序);
将应用程序发布到codePush服务器
代码推送发布react ReactApp ios--deploymentName Production
查看reactApp代码推送服务器的当前状态的命令
代码推送部署ls ReactApp-k
在\ios文件夹中打开xCode项目
如果需要,设置签名
编辑xCode方案以发布
编辑App.js使更改可见
构建和应用程序内容应在打开后更新,以反映上传到codePush服务器的版本和本地版本之间所做的更改