Сбой установки сборки iOS в Azure с ошибкой файла существует - PullRequest
0 голосов
/ 14 июня 2019

Я использую конвейер сборки Azure для iOS с версией Xcode 9.У меня есть шаг cocoapods, который устанавливает pod.Затем на этапе сборки я получаю сообщение об ошибке ниже.У меня включена опция чистой сборки.Также я попытался запустить bash-скрипт с rm -rf Pods перед выполнением шага cocoapods, но я все равно получаю ту же ошибку выхода из файла, но иногда с другим файлом.Есть идеи как это исправить?

...
▸ Linking GoogleToolboxForMac
▸ Generating 'GoogleToolboxForMac.framework.dSYM'
▸ Building Pods/GrowingTextView [Release]
▸ Check Dependencies
▸ Processing GrowingTextView-Info.plist
▸ Copying GrowingTextView-umbrella.h
/usr/local/Cellar/ruby/2.6.3/lib/ruby/2.6.0/fileutils.rb:239:in `mkdir': File exists @ dir_s_mkdir - build (Errno::EEXIST)
    from /usr/local/Cellar/ruby/2.6.3/lib/ruby/2.6.0/fileutils.rb:239:in `fu_mkdir'
    from /usr/local/Cellar/ruby/2.6.3/lib/ruby/2.6.0/fileutils.rb:217:in `block (2 levels) in mkdir_p'
    from /usr/local/Cellar/ruby/2.6.3/lib/ruby/2.6.0/fileutils.rb:215:in `reverse_each'
    from /usr/local/Cellar/ruby/2.6.3/lib/ruby/2.6.0/fileutils.rb:215:in `block in mkdir_p'
    from /usr/local/Cellar/ruby/2.6.3/lib/ruby/2.6.0/fileutils.rb:200:in `each'
    from /usr/local/Cellar/ruby/2.6.3/lib/ruby/2.6.0/fileutils.rb:200:in `mkdir_p'
    from /usr/local/lib/ruby/gems/2.6.0/gems/xcpretty-0.3.0/lib/xcpretty/reporters/reporter.rb:29:in `finish'
    from /usr/local/lib/ruby/gems/2.6.0/gems/xcpretty-0.3.0/lib/xcpretty/reporters/junit.rb:65:in `finish'
    from /usr/local/lib/ruby/gems/2.6.0/gems/xcpretty-0.3.0/bin/xcpretty:89:in `each'
    from /usr/local/lib/ruby/gems/2.6.0/gems/xcpretty-0.3.0/bin/xcpretty:89:in `<top (required)>'
    from /usr/local/lib/ruby/gems/2.6.0/bin/xcpretty:23:in `load'
    from /usr/local/lib/ruby/gems/2.6.0/bin/xcpretty:23:in `<main>'
##[error]Error: /usr/bin/xcodebuild failed with return code: 65
##[section]Finishing: Xcode build

1 Ответ

1 голос
/ 16 июня 2019

В большинстве случаев в конвейерах Azure ошибка 65 с cocoapods связана с подписью и сертификатами, в то время как XCode пытается подписать проекты Pod, которые не поддерживают подпись.

Вы включили или отключили useXcpretty: 'false'? Я бы порекомендовал отключить его, поскольку он потенциально скрывает реальную ошибку XCode в журналах конвейера.

Мне пришлось добавить следующее в конце моего Podfile, чтобы принудительно отключить подписывание в модулях:

post_install do |installer|
  installer.pods_project.build_configurations.each do |config|
    config.build_settings['PROVISIONING_PROFILE_SPECIFIER'] = ''
    config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
    config.build_settings['CODE_SIGNING_REQUIRED'] = 'NO'
  end
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
        config.build_settings['PROVISIONING_PROFILE_SPECIFIER'] = ''
        config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
        config.build_settings['CODE_SIGNING_REQUIRED'] = 'NO'
    end
  end
end
...