"$ {PODS_ROOT}/SwiftLint/swiftlint" вызывает "Ошибка выполнения PhaseScriptExecution команды с ненулевым кодом выхода" с Xcode 10

Обновление с Xcode 10.0 beta 2 до Xcode 10.0 beta 3 Теперь я получаю эту ошибку во время сборки для проекта iOS:

sourcekit: [1: connection-event-handler: 10499: 0.0000] Соединение interruptsourcekit: [1: updateSemanticEditorDelay: 10499: 0.0007] Отключение семантического редактора за 10 секунд. Источник: [1: pingService: 10499: 0.0007] pinging servicesourcekitten: подключение к SourceKitService восстановлено !
Соединение прерывается
Никогда не вызывайте это для файла, который не был вызван sourcekitd: файл File + Cache.swift, строка 127
/Users/Coeur/Library/Developer/Xcode/DerivedData/My-App-eloayqptodupvfhbyegtkncnhcpu/Build/Intermediates.noindex/My-App.build/UAT-iphonesimulator/My-App-Debug.build/Script-379156A71D62F5C100574D04.sh: строка 2: 34382 Ловушка прерывания: 6 "$ {PODS_ROOT}/SwiftLint/swiftlint"
Ошибка команды PhaseScriptExecution с ненулевым кодом выхода

Swift 4.1
CocoaPods 1.5.3
SwiftLint 0.26.0

Ответы

Ответ 1

Кажется, проблема с скриптом SwiftLint 0.26.0 при использовании Xcode 10.0 beta 3 или новее.

причина

Это похоже на SwiftLint # 2276, который связан с SourceKitten 0.21.0, исправленный в SourceKitten 0.21.1 и SwiftLint Master.

Решение

Обновить до SwiftLint 0.27.0 или новее:

pod 'SwiftLint', '~> 0.27'

(и запустить pod update SwiftLint)

Ответ 2

Это из-за доступа к брелку.

  • Открытый доступ к брелку
  • Щелкните правой кнопкой мыши вкладку входа
  • Блокировка входа
  • Снова щелкните правой кнопкой мыши вкладку входа
  • Разблокировать брелок логин

и проблема решена :)

Ответ 3

Для некоторых рамок или SDK требуется подписание кода.

Я сделал подписание кода и решил проблему для меня. enter image description here

Ответ 4

Я использую модуль, который не был обновлен для Xcode 10, поэтому решение, которое работало для меня, заключалось в том, чтобы удалить Cocoapods из моего проекта, а затем снова установить (проект был создан на Xcode 9).

Чтобы удалить его, самый простой способ:

$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod clean

После этого снова установите контейнеры.

Ответ 5

Я только что перезапустил свой Macbook, и это сработало.

Ответ 6

Для меня добавлена архитектура arm64 в "Настройка сборки → допустимые архитектуры".

Ответ 7

У меня был процесс аутентификации (за пределами Xcode), работающий в фоновом режиме, который, казалось, вызывал эту проблему для меня. У меня был диалог с цепочкой ключей с просьбой ввести мой пароль. Решением было перезапустить машину.

Ответ 8

Эта проблема решает для меня, когда я жду и даю проекту полную индексацию, прежде чем я что-нибудь сделаю!

Ответ 9

Перезапуск Xcode 10.1 исправил его для меня; возникла при обновлении Cocoapods ("RxSwift").

Ответ 10

В моем случае срок действия сертификата разработки Apple истек.

Чтобы проверить, откройте Keychain → Мои сертификаты → проверьте, действителен сертификат разработчика или нет. Если сертификат недействителен, выполните следующие действия.

  • Откройте учетную запись разработчика Apple и создайте новый сертификат разработки
  • Скачайте и добавьте его в свой брелок.
  • Перейдите в профили, откройте существующий профиль разработки и добавьте только что созданный сертификат.
  • Скачайте свежий профиль и установите его.

Надеюсь, это вам тоже поможет.

Ответ 11

У меня была эта проблема в моем приложении ionic4 после того, как я использовал cocoapods. Моя проблема заключалась в том, что в Targets-> Build Phases-> Embed Pods Frameworks у меня был неправильный путь к сценарию Pods-MyApp-frameworks.sh, и исправление этого пути решило проблему для меня. Это потому, что большую часть времени переменная $PODS_ROOT не устанавливается после установки модулей

Ответ 12

Решение сработало для меня

Я удалил все сгенерированные pod файлы и папки, как указано ниже

  • Podfile.lock
  • Папка с бобами
  • ProjectName.xcworkspace

Снова установите модуль для этого проекта.

Теперь откройте .xcworkspace. Сборка и запуск...

Ответ 13

У меня появился новый Macbook и я получил эту ошибку при попытке архивирования. Я забыл установить cocopods на новом компьютере, поэтому я сделал, затем перезапустил компьютер и перезапустил Xcode, и он сработал.

Ответ 15

Если в каталоге, где находится ваш проект, есть пробелы, возникает проблема. Чтобы решить эту проблему, добавьте двойные кавычки (""). Например:

"$ (SRCROOT)/моя структура/путь"