Установите автоматическую подпись Xcode на false и установите профиль и сертификат обеспечения с помощью fastlane match и gym

Мы используем Fusetools для создания приложения. Используя команду uno build --target=ios --configuration=Release мы генерируем новый myapp.xcodeproj файл для приложения.

Когда я открываю .xcodeproj в Xcode IDE вручную вижу Automatically manage signing флажок установлен. Затем мы используем Fastlane match для получения сертификатов и вручную выбираем сертификат appstore в Xcode. Это все отлично работает.

Теперь - мы пытаемся построить это с помощью CI-провайдера, такого как Bitrise, используя процесс безголовой сборки. Тогда все останавливается в одной точке. наш .xcodeproj имеет Automatically manage signing флажок установлен.

Наш Fastfile выглядит так:

`` `disable_automatic_code_signing (путь:"../myapp.xcodeproj ")

match(git_url: "git@github.com:MyRepo/match.git", app_identifier: "com.myapp.myapp", type: "appstore", readonly: true)

gym(
  workspace: "myapp.xcworkspace",
  scheme: "MyApp",
  export_method: "app-store",
  xcargs: "PROVISIONING_PROFILE_SPECIFIER='match AppStore com.myapp.myapp'"
)

`` `

В нашем Fastfile сначала пытаемся отключить автоматическую подпись, в спортзале - передать в параметре xcargs: "PROVISIONING_PROFILE_SPECIFIER='match AppStore com.myapp.myapp'" установить профиль обеспечения перед сборкой.

Затем я получаю это от монитора Bitrise CI:

Code signing is required for product type 'Application' in SDK 'iOS 10.3'

Я могу воспроизвести это, если работает локально, пытаясь установить автоматическую подпись в false и сделать то же самое.

Любая идея?

1 ответ

xcargs: "PROVISIONING_PROFILE_SPECIFIER='match AppStore com.myapp.myapp'"

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

Другие вопросы по тегам