xcodebuild не может подписать приложение ios, хотя сертификат разработчика и профиль обеспечения установлены - PullRequest
0 голосов
/ 27 августа 2018

В xCode есть один вошедший в систему пользователь, но мне нужно создать его от имени другого пользователя.От этого пользователя есть свежий сертификат разработчика iPhone и соответствующий профиль обеспечения.- Сертификат установлен в связку ключей.- Профиль обеспечения установлен в правильном каталоге Xcode.

xcodebuild передает идентификатор команды этого пользователя:

xcodebuild archive \
     -workspace XXXXXXXXXXXXXXXX.xcworkspace \
     -scheme XXXXXXXXXXXXXXXX \
     -archivePath ./XXXXXXXXXXXXXXXX.xcarchive \
     -destination generic/platform=iOS \
     IPHONEOS_DEPLOYMENT_TARGET=10.0 \
     TARGETED_DEVICE_FAMILY="1" \
     CODE_SIGN_ENTITLEMENTS=XXXXXXXXXXXXXXXX.entitlements \
     DEVELOPMENT_TEAM=$teamId \ 
     -parallelizeTargets \
     -jobs 4 \
     -verbose \
     ENABLE_BITCODE=NO \
     CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS=NO \
     GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS=NO \
     CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS=NO \
     -allowProvisioningUpdates

Подписание не работает:

Check dependencies
[08:44:01][Step 8/14] Code Signing Error: No account for team "XXXXXXXXXX". Add a new account in the Accounts preference pane or verify that your accounts have valid credentials.
[08:44:01][Step 8/14] Code Signing Error: No profiles for 'com.xxxxxxxxxxxx.xxxxxxxxxxxx' were found:  Xcode couldn't find any iOS App Development provisioning profiles matching 'com.xxxxxxxxxxxx.xxxxxxxxxxxx'.
[08:44:01][Step 8/14] Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 11.4'

Что не помогло:

  • Очистить кэш xCode (просто удалив папку ~ / Library / Developer / Xcode / DerivedData)

  • Очистка цепочки для ключей от сертификатов с истекшим сроком действия

  • Проверено, что TeamId и appId точно совпадают с developer.apple.com

  • Оказалось, что у Mac есть 2 копии xcode.Обе копии удалены.Один переустанавливается.


после удаления параметра -allowProvisioningUpdates осталось 2 ошибки:

[09:16:31][Step 8/14] Check dependencies
[09:16:31][Step 8/14] Code Signing Error: No profiles for 'com.xxxxxxxxxxxx.xxxxxxxxxxxx' were found:  Xcode couldn't find any iOS App Development provisioning profiles matching 'com.xxxxxxxxxxxx.xxxxxxxxxxxx'. Automatic signing is disabled and unable to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild.
[09:16:31][Step 8/14] Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 11.4'

Если я открою проект из xCode,отключить автоподписание, выбрать профили инициализации, запустить сборку архива, он успешно завершен.Но мне нужно собрать проект из командной строки (TeamCity)

...