2014-12-12 2 views
6

У нас есть приложение, интегрированное с сегодняшним расширением, мы используем xctool и Jenkins для непрерывной сборки и внутреннего распространения.xctool build с сегодняшним расширением

В командной строке, прежде чем использовать

xctool -workspace our_workspace.xcworkspace -scheme app_schme -xcconfig path_to_xcconfig -configuration Release build archive -archivePath path_to_archive 

для создания архива, а затем экспортировать в .ipa, он отлично работает.

Но прямо сейчас с сегодняшним расширением мы должны построить его с помощью другой схемы и xcconfig, мы поместим профиль сертификата и обеспечения в xcconfig, поскольку сегодняшнее расширение является новой целью и должно быть построено с собственным сертификатом и профилем подготовки, I Интересно, как добиться успеха с помощью xctool.

Любая помощь приветствуется.

ответ

3

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

Прежде всего, создавая расширение, цель расширения будет встроена в схему вашего основного приложения.

enter image description here

Таким образом, нет необходимости использовать две схемы.

Затем на странице настроек проекта создайте новую конфигурацию, скажем AdHoc. А затем вы можете установить новый Provisioning Profile в обеих настройках сборки вашей цели.

enter image description here

(Настройки проекта)

enter image description here

(настройки для сборки одной цели)

Затем установите право инициализации профили для ваших целей (А вы бы лучше набор code sign identity в автоматическом режиме, чтобы Xcode мог определить, какой идентификатор знака кода должен использоваться).

Следующий шаг, вы можете архивировать приложение с помощью xcodebuild с новой конфигурацией вы только что создали:

xcodebuild -project Extension\ Demo.xcodeproj -scheme Extension\ Demo -sdk iphoneos -archivePath ./Build/extension-demo.xcarchive -configuration AdHoc archive 

В этом шаге CodeSign будет подписывать два ваших целей отдельно профилей резервов, которые вы указали.

Наконец, экспортируйте файл .xcarchive в ipa, снова используя xcodebuild;

xcodebuild -exportArchive -archivePath ./Build/extension-demo.xcarchive -exportPath ./Build/extension-demo.ipa -exportWithOriginalSigningIdentity 

Обратите внимание, что -exportWithOriginalSigningIdentity установлен, так что xcodebuild не будет повторно подписать ИПС, а код подписи в xcarchive файле сохраняется.

+0

«Затем установите правильные профили обеспечения для своих целей», как это сделать с помощью командной строки xcodebuild? –

+1

Вы не делаете этого с помощью команды xcodebuild, вместо этого вам нужно установить их в настройках сборки Xcode в конфигурации, созданной на шаге 1 (см. Рис. 3). Вам нужно только указать конфигурацию в xcodebuild и не волнует, какой профиль ее настройки. –

+0

Возможно, вы правы. Я только что сказал, как ты сказал.Не найдено других способов. Благодарю. –

Смежные вопросы