Всё сломалось пару недель назад, когда обновилась то ли сама макось (10.14.2), то ли Xcode (10.1 (10B61)). Скрипт не поменялся ни на байт, но собираться оно перестало.
error: The operation couldn’t be completed. Unable to log in with account 'тут аккаунт CI'. The login details for account 'тут аккаунт CI' were rejected. (in target 'PROJECTNAME')
Build system information
error: No profiles for 'com.MYCOMPANY.PROJECTNAME' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'com.MYCOMPANY.PROJECTNAME'. (in target 'PROJECTNAME')
При этом, если запустить ровно тот же xcodebuild с теми же параметрами из командной строки сборочного сервера, зайдя на него по VNC, всё отлично собирается. А если заходить по SSH (как делает и Jenkins) — то нет.
Нагуглил разблокирование keychain'а, вставил перед сборкой
Здравствуйте, kpcb, Вы писали:
D>>Может, RSDN в курсе? Как у вас делается CI под iOS и, особенно, code signing? K>Сборка, подписывание, публикация, загрузка отладочных символов, всё делается при помощи fastlane
А как оформлено подписывание в fastlane?
У нас в проектах везде автоматическое подписывание прописано. Так оно не работает.
Я взял fastlane, написал сначала sigh и cert, так оно хочет зачем-то каких-то непонятных привилегий, а пользователь ci как developer в программе разработки указан.
Автоподписывание, как я уже указал выше, не работает. Начал писать disable_automatic_signing. Оказалось, что надо его указывать и для подпроектов тоже, но не для POD-проектов. Ну и вот такой геморрой.
Здравствуйте, Dair, Вы писали:
D>Здравствуйте, kpcb, Вы писали:
D>>>Может, RSDN в курсе? Как у вас делается CI под iOS и, особенно, code signing? K>>Сборка, подписывание, публикация, загрузка отладочных символов, всё делается при помощи fastlane
D>А как оформлено подписывание в fastlane?
D>У нас в проектах везде автоматическое подписывание прописано. Так оно не работает. D>Я взял fastlane, написал сначала sigh и cert, так оно хочет зачем-то каких-то непонятных привилегий, а пользователь ci как developer в программе разработки указан.
D>Автоподписывание, как я уже указал выше, не работает. Начал писать disable_automatic_signing. Оказалось, что надо его указывать и для подпроектов тоже, но не для POD-проектов. Ну и вот такой геморрой.
вот фрагмент lane-a, который собирает версию ad-hoc для публикации d Fabric
Здравствуйте, kpcb, Вы писали:
K>вот фрагмент lane-a, который собирает версию ad-hoc для публикации d Fabric
Спасибо!
K>sh("security set-keychain-settings -t 3600 -l #{keychain_path}") unless keychain_path.nil?
Воспользовался вот этим, но не помогло
Видимо, в проекте в ручную у вас выбран профиль для подписи.
Но я в результате нашёл, как включить автоподписку обратно, вот этот тред помог:
Developer relations was able to provide a workaround:
1. Remove the account via Xcode's preferences
2. Quit Xcode
3. In terminal, set the preference to not use the keychain service:
defaults write com.apple.dt.Xcode DVTDeveloperAccountUseKeychainService_2 -bool NO
Здравствуйте, Dair, Вы писали:
D>При этом, если запустить ровно тот же xcodebuild с теми же параметрами из командной строки сборочного сервера, зайдя на него по VNC, всё отлично собирается. А если заходить по SSH (как делает и Jenkins) — то нет.
При заходе интерактивно, через VNC, грузится профайл пользователя.
При выполнении скрипта через ssh, как делает Дж — не грузится.
Нужно в начале скрипта добавить: