1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/geekact-react-native-upload

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

react-native-upload: однократная загрузка приложений Android и iOS на различные платформы тестирования и в App Store

Поддерживаемые системы: Mac OS (используется синтаксис bash, а для iOS требуется зависимость от программного обеспечения Xcode).

Интегрированные платформы:

  • Pgyer (android + ios);
  • Fir.im (android + ios);
  • App Store (ios);
  • Test Flight (ios).

Установка

# Npm
npm install react-native-upload --save-dev

# Yarn
yarn add react-native-upload --dev

Генерация конфигурации

Сначала выполните эту команду:

npx upload-init

После выполнения команды в корневом каталоге проекта будет создан файл upload.json и сгенерировано следующее содержимое:

// Неиспользуемые настройки можно оставить пустыми или удалить.
{

    // Загрузка на Pgyer
    "pgy": {
        // Ключ доступа, доступ по ссылке https://www.pgyer.com/account/api, скопируйте Api Key
        "pgy_api_key": "",
        // Способ установки приложения, всего три вида: 1: общедоступный, 2: установка пароля, 3: приглашение к установке
        "pgy_install_type": 1,
        // Пароль доступа при установке приложения, выберите «2 пароль установки», чтобы ввести пароль доступа
        "pgy_install_password": "",
        "ios_export_plist": "./ios-export/ad-hoc.plist"
    },



    // Загрузка на Fir.im
    "fir": {
        // Ключ доступа, доступ по ссылке https://betaqr.com/apps/apitoken, скопируйте token
        "fir_api_token": "",
        "ios_export_plist": "./ios-export/ad-hoc.plist"
    },



    // Загрузка в App Store
    "app_store": {
        ###########################################################################
        ## Обратите внимание: user_* и api_* являются взаимоисключающими, необходимо заполнить только одну группу для нормальной загрузки                ##
        ###########################################################################

        // Пользователь (APPLE_ID) должен иметь разрешение на загрузку этого приложения
        "user_name": "",
        // Случайный пароль, доступ по ссылке https://appleid.apple.com/account/manage, нажмите «App специальный пароль» для создания пароля
        "user_password": "",

        // Идентификатор ключа, доступ по ссылке https://appstoreconnect.apple.com/access/api, нажмите синюю круглую кнопку +, чтобы создать ключ.
        ##########################################################################
        ## Примечание: после создания ключа необходимо загрузить файл ключа в любой из следующих каталогов:              ##
        ##             ./private_keys                                           ##
        ##             ~/private_keys                                           ##
        ##             ~/.private_keys                                          ##
        ##             ~/.appstoreconnect/private_keys                          ##
        ##########################################################################
        "api_key": "",
        // В верхней части списка ключей есть Issuer ID
        "api_issuer": "",

        "ios_export_plist": "./ios-export/app-store.plist"
    },



    // Загрузка в Test Flight
    // По умолчанию используйте user_* или api_* из конфигурации app_store, также можно переопределить эти параметры в конфигурации test_flight
    "test_flight": {
        "ios_export_plist": "./ios-export/ad-hoc.plist"
    }

}

Подготовка

ios_export_plist — это путь сохранения параметров упаковки iOS. Поскольку параметры упаковки iOS очень сложны и каждый проект имеет некоторые различия, вам необходимо выполнить следующие действия вручную один раз (только один раз):

  1. Ручная упаковка: нажмите Xcode -> Product -> Archive, дождитесь завершения упаковки.
  2. Экспорт приложения: нажмите Xcode -> Window -> Organizer, выберите только что упакованный пакет, нажмите правую кнопку «Distribute App», выполните серию выборов, затем нажмите кнопку «Export», чтобы загрузить файл на локальный диск.

Как правило, вам может потребоваться вручную экспортировать два файла приложений:

  • Если вы хотите загрузить приложение на тестовую платформу, рекомендуется выбрать способ упаковки Ad Hoc.
  • Если вы хотите загрузить приложение в App Store, выберите способ упаковки ios App Store.
  1. Скопируйте файл plist: каталог экспорта приложения содержит следующую информацию:

Скопируйте файл ExportOptionns.plist в проект и сохраните его в том же месте, что и конфигурация ios_export_plist. Рекомендуется переименовать файл в соответствии со способом упаковки, например ad-hoc.plist, app-store.plist и т. д.

Автоматическая упаковка и загрузка

Pgyer

npx upload-pgy

# Введите журнал обновлений
npx upload-pgy --log "Добавить функцию xxx"

# Игнорировать платформу
npx upload-pgy --no-android
npx upload-pgy --no-ios

# Android по умолчанию упаковывает версию выпуска, которую можно изменить на версию отладки
npx upload-pgy --variant=debug

# При многоканальной упаковке по умолчанию загружаются все сгенерированные файлы apk для Android, и можно использовать регулярные выражения для указания имени файла
npx upload-pgy --apk=app-release.apk
npx upload-pgy --apk=x86_64
npx upload-pgy --apk=release-[0-9]

Fir.im

npx upload-fir

# Введите журнал обновлений
npx upload-fir --log "Добавить функцию xxx"

# Игнорировать платформу
npx upload-fir --no-android
npx upload-fir --no-ios

# Android по умолчанию упаковывает версию выпуска, которую можно изменить на версию отладки
npx upload-fir --variant=debug

# При многоканальной упаковке по умолчанию загружаются все сгенерированные файлы apk для Android, и можно использовать регулярные выражения для указания имени файла
npx upload-fir --apk=app-release.apk
npx upload-fir --apk=x86_64
npx upload-fir --apk=release-[0-9]

App Store

npx
``` ### **Загрузка в App Store**

# Или сокращённо
npx upload-as

Test Flight

npx upload-testflight

# Или сокращённо
npx upload-tf

Только упаковка без загрузки

По какой-либо причине вы можете захотеть просто упаковать приложение, не загружая его на какую-либо платформу. В этом случае можно использовать следующие команды:

# Упаковка для Android и iOS одновременно
npx upload-build --ios-export-plist path/to/xxx.plist

# По умолчанию для Android создаётся версия release, но можно выбрать debug
npx upload-build --ios-export-plist path/to/xxx.plist --variant=debug

# Отдельная упаковка для Android
npx upload-build --no-ios

# Отдельная упаковка для iOS
npx upload-build --no-android --ios-export-plist path/to/xxx.plist

Спасибо за использование и предложения. Если вам нужно интегрировать с какой-нибудь общей платформой, дайте мне знать.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/geekact-react-native-upload.git
git@api.gitlife.ru:oschina-mirror/geekact-react-native-upload.git
oschina-mirror
geekact-react-native-upload
geekact-react-native-upload
master