Walmart Электрод базовое понимание
Я пытаюсь создать базовое iOS-приложение на основе ReactNative с помощью Electrode (Walmart - http://www.electrode.io/site/docs/introduction.html).
Хотя я могу заставить приложение работать на моем Mac локально, я изо всех сил пытаюсь понять, как может / должно работать все обновление по беспроводной сети (OTA).
Вот что я сделал до сих пор
- создал мини-приложение, используя ern create-miniapp TestApp
- создал GIT-репозиторий на BitBucket
- создал Cauldron с помощью Ern Cauldron Reo и добавить TestApp [Bitbucket-url]
- добавил нативное приложение с помощью ern cauldron добавить нативное приложение TestApp
Но когда я запускаю приложение, используя ern run-ios, оно все еще указывает на мой локальный компьютер (я могу обновить файл index-ios.js, и он обновится в приложении). Так чего же не хватает для запуска всей OTA-установки, когда другой программист может обновить файл index-ios.js в облаке / битбакете (я полагаю) и обновить приложение на лету?
2 ответа
Я закончил тем, что заставил это работать на второй попытке - примечания, которые я сделал в процессе, следующие:
Я искал вокруг сети и использовал немного здесь и там, так что не могу указать вам одно простое руководство...
ОБОРУДОВАНИЕ, НЕОБХОДИМЫЕ
установить Homebrew
установить ReactNative-cli-tools и codePush
Заваривать узел установки
варево установить сторож
npm установить -g реагировать-родной-Cli
Npm установить -g код-push-cli
codePush зарегистрироваться
Регистр код-пуш
(завершите регистрацию, подтвердите, выполнив эту команду еще раз, и она должна сказать: [Ошибка] Вы уже вошли с этого компьютера.)
Приложение
act-native init [AppName] Cd [AppName] npm install - сохраните реакцию-native-code-push Npm install (что-то идет не так при установке code-push, поэтому нам нужно переустановить некоторые реагирующие-собственные элементы)
приложение "push-code" добавить ReactApp ios реагировать-родной (Копировать ключ развертывания производства)
React-native link реагировать-native-code-push (введите ключ рабочего развертывания)
Изменить App.js
импортировать codePush из'act-native-code-push '
(Удалить "экспорт по умолчанию" из основного класса приложения)
const codePushOptions = {
checkFrequency: codePush.CheckFrequency.ON_APP_RESUME,
installMode: codePush.InstallMode.IMMEDIATE
}
экспорт по умолчанию codePush(codePushOptions)(приложение);
выпустить приложение на сервер codePush
код-push-релиз-реакция ReactApp ios --deploymentName Production
команда, чтобы увидеть текущее состояние сервера CodeAush реагировать
внедрение push-кода ls ReactApp -k
Откройте проект xCode в папке \ios
Настройте подпись при необходимости
редактировать схему xCode в Release
отредактируйте App.js, чтобы сделать изменения видимыми
Сборка и контент приложения должны обновляться после открытия, чтобы отражать изменения, сделанные между версией, загруженной на codePush-сервер, и локальной версией.
Если я правильно понимаю, чтобы 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