Установите автоматическую подпись 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, в котором описано, что вы можете использовать переменные окружения, которые заполняются совпадением, для каждого параметра имени профиля обеспечения каждой цели.