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

https://brew.sh/

установить 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
Другие вопросы по тегам