Как создать .ipa-файл для тестирования из реактивного приложения для IOS с использованием командной строки - PullRequest
0 голосов
/ 03 декабря 2018

Я использую реактивную версию 0.57.7. Как создать .ipa файл из react-native app с помощью командной строки .

Я следовал некоторым ответам о переполнении стека ( в качестве примера ) о том, как создать .ipa файл из собственного приложения, чтобы я мог установить его на своем Iphone и проверить его.

Ответ, который я нашел, слишком старый или не имеет той же структуры каталогов, что иМоя собственная версия приложения реагирования 0.57.7.

Подскажите, пожалуйста, как сгенерировать файл .ipa в react-native версии 0.57.7 для тестирования на iphone.

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

Эндрю имеет правильный ответ, но если вы собираетесь выполнить много развертываний, я настоятельно рекомендую использовать Fastlane.Как только вы изучите fastlane, от процесса развертывания ios уйдет много головной боли.Я сделал видео на YouTube , в котором рассказывается о ручном процессе и о том, как fastlane делает его автоматизированным для вас каждый шаг.

Надеюсь, это поможет!

0 голосов
/ 03 декабря 2018

Если у вас отсортированы профили обеспечения, то это довольно просто.Хотя, чтобы иметь возможность протестировать его на устройстве без его подключения к компьютеру, вам потребуется профиль обеспечения ad-hoc или enterprise.

Таким образом, вам понадобится профиль обеспечения и дистрибутив .сертификат , который вы хотите установить на свой компьютер.

По сути, у вас есть две команды, которые вам нужно будет выполнить, чтобы создать свой ipa.

  1. Создать архив.
  2. Подпишите архив.(это создаст ipa из архива)

Структура папок

В корневом каталоге моего приложения у меня есть следующие папки

  • android
  • app
  • ios
  • node_modules

Итак, откройте терминал в корневом каталоге приложения, и мы сможем начать:


Создать архив

Теперь есть небольшие различия, если вы используете кокоаподы или нет.Здесь вы можете увидеть различия в двух разных командах, а именно, что project заменяется на workspace, а xcodeproj заменяется на xcworkspace.

Выберите тот, который наилучшим образом соответствует вашим настройкам.Результатом будет файл с именем myawesomeapp.xcarchive в корневом каталоге вашего приложения.

Нет Cocoapods / проекта

xcodebuild "-project" "ios/myawesomeapp.xcodeproj" "-scheme" "myawesomeapp" "-configuration" "Release" "DEVELOPMENT_TEAM=YOUR_TEAM_ID" "PROVISIONING_PROFILE_SPECIFIER=YOUR_TEAM_ID/myawesomeapp_profile_name" "archive" "-archivePath" "myawesomeapp.xcarchive"

Cocoapods / workspace

xcodebuild "-workspace" "ios/myawesomeapp.xcworkspace" "-scheme" "myawesomeapp" "-configuration" "Release" "DEVELOPMENT_TEAM=YOUR_TEAM_ID" "PROVISIONING_PROFILE_SPECIFIER=YOUR_TEAM_ID/myawesomeapp_profile_name" "archive" "-archivePath" "myawesomeapp.xcarchive"

Мне нравится указывать DEVELOPMENT_TEAM и PROVISIONING_PROFILE_SPECIFIER это так, что для приложения используется правильный профиль обеспечения.

Я выбираю параметр конфигурации Release, поскольку лично я использую профили распространения, чтобы затем я мог передать встроенный ipa группе тестирования.

Если вы ничего не сделали дляЗатем вы можете заменить слова myaewsomeapp названием вашего приложения и myawesomeapp_profile_name названием вашего профиля обеспечения.


Подпишите архив

Вы должны подписать архив, чтобы он стал ipa.Для этого вам понадобится export_options.plist.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>compileBitcode</key>
        <false/>
        <key>method</key>
        <string>ad-hoc</string>
        <key>provisioningProfiles</key>
        <dict>
            <key>com.myawesomeapp</key>
            <string>myawesomeapp_profile_name</string>
        </dict>
        <key>signingCertificate</key>
        <string>iPhone Distribution: NAME_OF_YOUR_SIGNING_CERTIFICATE (YOUR_TEAM_ID)</string>
        <key>teamID</key>
        <string>YOUR_TEAM_ID</string>
    </dict>
</plist>

Итак, есть несколько ключевых моментов по этому поводу:

Установите метод, соответствующий тому, для чего предназначен ваш профиль обеспечения.Если это специальный профиль, то специальный должен перейти туда.Возможные варианты: app-store, ad-hoc, enterprise или development.

Измените com.myawesomeapp на идентификатор пакета вашего приложения.Измените my_awesomeapp_profile_name на имя вашего профиля обеспечения.Добавьте имя подписывающего сертификата, который вы используете.Наконец, добавьте YOUR_TEAM_ID

После того как вы создали список export_options.plist и сохранили его в корневом каталоге вашего приложения, вы можете запустить следующую команду в терминале:

xcodebuild "-exportArchive" "-archivePath" "myawesomeapp.xcarchive" "-exportPath" "./" "-exportOptionsPlist" "export_options.plist"

Затем вы подпишете ipa для вас и создадите несколько других файлов, вы можете предпочесть запись в подкаталог в каталоге вашего приложения, а не в корневой каталог.

Когда у вас есть ipa, вы можете установить его на свой iPhone с помощью Xcode.


Как и все, ваши настройки могут отличаться от моих.Тем не менее, это метод, который я использую локально, и метод, который я использую в нашем CI.Это работает для нас, надеюсь, это поможет вам создать свой IPA.

Более подробную информацию о строительстве можно найти по адресу https://developer.apple.com/library/archive/technotes/tn2339/_index.html.

Хотя он больше не обновляется, они более подробно рассказывают о том, что все делает, и просмотр официальных документов является хорошим местом дляНачните.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...