Если у вас отсортированы профили обеспечения, то это довольно просто.Хотя, чтобы иметь возможность протестировать его на устройстве без его подключения к компьютеру, вам потребуется профиль обеспечения ad-hoc
или enterprise
.
Таким образом, вам понадобится профиль обеспечения и дистрибутив .сертификат , который вы хотите установить на свой компьютер.
По сути, у вас есть две команды, которые вам нужно будет выполнить, чтобы создать свой ipa.
- Создать архив.
- Подпишите архив.(это создаст 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.
Хотя он больше не обновляется, они более подробно рассказывают о том, что все делает, и просмотр официальных документов является хорошим местом дляНачните.