沃尔玛电极基本了解
Walmart Electrode basic understanding
我正在尝试使用 Electrode 创建一个基于 ReactNative 的基本 iOS-app(沃尔玛 - http://www.electrode.io/site/docs/introduction.html)
虽然我可以让应用程序在我的 Mac 上本地运行,但我很难理解整个无线 (OTA) 更新 can/should 是如何工作的。
这是我到目前为止所做的
- 使用 ern create-miniapp TestApp 创建了一个迷你应用程序
- 在 BitBucket 上创建了一个 GIT 存储库
- 使用 ern cauldron repo add TestApp 创建了一个 Cauldron [Bitbucket-url]
- 使用 ern cauldron 添加原生应用 TestApp 添加原生应用
但是当我 运行 使用 ern 运行-ios 的应用程序时,它似乎仍然指向我的本地机器(我可以更新索引 -ios.js -文件并在应用程序中更新)。那么,要使整个 OTA 设置运行到另一个程序员可以更新 cloud/bitbucket(我猜)中的索引-ios.js 文件并即时更新应用程序,还缺少什么?
如果我没理解错的话,要让OTA工作,你需要使用code-push命令。
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
我最终在第二次尝试中让它工作 - 我正在进行的笔记如下:
我在网上搜索并在这里和那里使用了一些,所以不能真正为您提供一个简单的指南..
先决条件
install Homebrew
install ReactNative-cli-tools and codePush
brew 安装节点
brew 安装守望者
npm install -g react-native-cli
npm install -g code-push-cli
codePush register
代码推送寄存器
(完成注册,再次通过 运行 此命令验证,它应该显示:[错误] 您已经从这台机器登录。)
App
react-native init [AppName]
Cd [应用程序名称]
npm install — 保存 react-native-code-push
npm install(安装code-push时出错,需要重新安装一些react-native元素)
code-push app 添加 ReactApp ios react-native
(复制生产部署密钥)
React-native link react-native-code-push
(输入生产部署密钥)
Edit App.js
从 'react-native-code-push'
导入 codePush
(从主应用 class 中删除 "export default")
const codePushOptions = {
checkFrequency: codePush.CheckFrequency.ON_APP_RESUME,
installMode: codePush.InstallMode.IMMEDIATE
}
导出默认 codePush(codePushOptions)(App);
release app to codePush server
code-push release-react ReactApp ios --deploymentName Production
command to see current status of reactApp codePush server
代码推送部署 ls ReactApp -k
Open xCode project in \ios-folder
Set up signing if needed
edit xCode scheme to Release
edit App.js to make the change visible
Build and app-content should update after open to reflect changes made between version uploaded to codePush-server and local version
我正在尝试使用 Electrode 创建一个基于 ReactNative 的基本 iOS-app(沃尔玛 - http://www.electrode.io/site/docs/introduction.html)
虽然我可以让应用程序在我的 Mac 上本地运行,但我很难理解整个无线 (OTA) 更新 can/should 是如何工作的。
这是我到目前为止所做的
- 使用 ern create-miniapp TestApp 创建了一个迷你应用程序
- 在 BitBucket 上创建了一个 GIT 存储库
- 使用 ern cauldron repo add TestApp 创建了一个 Cauldron [Bitbucket-url]
- 使用 ern cauldron 添加原生应用 TestApp 添加原生应用
但是当我 运行 使用 ern 运行-ios 的应用程序时,它似乎仍然指向我的本地机器(我可以更新索引 -ios.js -文件并在应用程序中更新)。那么,要使整个 OTA 设置运行到另一个程序员可以更新 cloud/bitbucket(我猜)中的索引-ios.js 文件并即时更新应用程序,还缺少什么?
如果我没理解错的话,要让OTA工作,你需要使用code-push命令。
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
我最终在第二次尝试中让它工作 - 我正在进行的笔记如下:
我在网上搜索并在这里和那里使用了一些,所以不能真正为您提供一个简单的指南..
先决条件
install Homebrew
install ReactNative-cli-tools and codePush
brew 安装节点
brew 安装守望者
npm install -g react-native-cli
npm install -g code-push-cli
codePush register
代码推送寄存器
(完成注册,再次通过 运行 此命令验证,它应该显示:[错误] 您已经从这台机器登录。)
App
react-native init [AppName] Cd [应用程序名称] npm install — 保存 react-native-code-push npm install(安装code-push时出错,需要重新安装一些react-native元素)
code-push app 添加 ReactApp ios react-native (复制生产部署密钥)
React-native link react-native-code-push (输入生产部署密钥)
Edit App.js
从 'react-native-code-push'
导入 codePush(从主应用 class 中删除 "export default")
const codePushOptions = {
checkFrequency: codePush.CheckFrequency.ON_APP_RESUME,
installMode: codePush.InstallMode.IMMEDIATE
}
导出默认 codePush(codePushOptions)(App);
release app to codePush server
code-push release-react ReactApp ios --deploymentName Production
command to see current status of reactApp codePush server
代码推送部署 ls ReactApp -k
Open xCode project in \ios-folder
Set up signing if needed
edit xCode scheme to Release
edit App.js to make the change visible
Build and app-content should update after open to reflect changes made between version uploaded to codePush-server and local version