#ios #cordova #ionic-framework #azure-pipelines
#iOS #кордова #ionic-framework #azure-конвейеры
Вопрос:
Я пытаюсь использовать автоматическую подготовку для сборок iOS. На моем Mac это работает правильно, но когда я попытался сделать это в Azure pipeline, я получаю следующую ошибку
error: There are no accounts registered with Xcode. Add your developer account to Xcode (in target 'XXX' from project 'XXXX')
error: No profiles for 'com.devhaus.ljdev' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'com.XXXX'. (in target 'XXXX' from project 'XXXX')
В моем yaml у меня есть только InstallAppleCertificate
задача, которая выполняется успешно
- task: InstallAppleCertificate@2
inputs:
certSecureFile: $(p12File)
certPwd: $(p12Password)
- script: |
npx run ionic build
displayName: "build"
- script: |
npx ionic cordova platform add ios@6
displayName: "build for Apple"
# Didn't just do npx ionic cordova build ios here as there
# is a bug that will cause the build to hang.
- script: |
npx cordova build ios --device
displayName: "build for IOS"
Ответ №1:
В этой теме упоминается, что автоматическое подписание работает только для сборок разработки. вы не можете использовать автоматическую подпись в конвейере DevOps для распространения (ad hoc, app Store и т. Д.).
Однако вы всегда можете вручную подписать свою ios, указав параметры codeSignIdentity и provisioningProfile для команды сборки. Для приведенной ниже команды примера. См. раздел cordova document Подписание приложения
npx cordova build ios --device --codeSignIdentity="$(APPLE_CERTIFICATE_SIGNING_IDENTITY)" --provisioningProfile="$(APPLE_PROV_PROFILE_UUID)"
При использовании задач «Установить сертификат Apple» и «Установить профиль подготовки Apple» для загрузки сертификата и профиля подготовки в конвейере Azure devops. Переменные $(APPLE_CERTIFICATE_SIGNING_IDENTITY)
и $(APPLE_PROV_PROFILE_UUID)
автоматически устанавливаются этими задачами, что позволяет напрямую обращаться к идентификатору подписи и UUID профиля подготовки. Смотрите Документ Microsoft здесь .
В поле удостоверения подписи введите $(APPLE_CERTIFICATE_SIGNING_IDENTITY). Эта переменная автоматически устанавливается задачей установки сертификата Apple для выбранного вами сертификата.
В поле UUID профиля подготовки введите $(APPLE_PROV_PROFILE_UUID). Эта переменная автоматически устанавливается задачей Install Apple Provisioning Profile для выбранного вами профиля подготовки.