Xcode 3.2 предоставляет потрясающую новую функцию в меню Build, «Build and Archive», которая генерирует файл .ipa, подходящий для распространения Ad Hoc. Вы также можете открыть Организатор, перейти к разделу «Архивные приложения» и «Отправить приложение в iTunesConnect».
Есть ли способ использовать «Build and Archive» из командной строки (как часть сценария сборки)? Я предполагаю, что xcodebuild
это будет как-то связано, но man
страница, похоже, ничего об этом не говорит.
ОБНОВЛЕНИЕ Михаил Гринич запросил разъяснения; вот что именно вы не можете сделать с помощью сборок из командной строки, функции, которые вы можете делать ТОЛЬКО с Xcode Organizer после «Сборки и архивирования».
- Вы можете нажать «Поделиться приложением ...», чтобы поделиться своим IPA с бета-тестерами. Как указывает Гийом ниже, из-за некоторой магии XCode этот файл IPA не требует отдельно распространяемого файла .mobileprovision, который требуется установить бета-тестерам; это волшебно Никакой сценарий командной строки не может это сделать. Например, сценарий Arrix (представленный 1 мая) не соответствует этому требованию.
- Что еще более важно, после того, как вы протестировали сборку, вы можете нажать «Отправить приложение в iTunes Connect», чтобы отправить эту ТОЧНУЮ сборку в Apple, тот самый двоичный файл, который вы тестировали, без перекомпоновки. Это невозможно из командной строки, потому что подписание приложения является частью процесса сборки; вы можете подписывать биты для бета-тестирования Ad Hoc ИЛИ вы можете подписывать их для отправки в App Store, но не для обоих. Ни один IPA, построенный на командной строке, не может быть бета-тестирован на телефонах, а затем отправлен непосредственно в Apple.
Я бы хотел, чтобы кто-то пришел и доказал, что я не прав: обе эти функции прекрасно работают в графическом интерфейсе XCode и не могут быть воспроизведены из командной строки.
xcodebuild
. Создание файла IPA просто включает в себя помещение приложения в каталог с именем «Payload», архивирование этого каталога и переименование его в MyAppName.ipa.