"$ {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 требуется подписание кода.
Я сделал подписание кода и решил проблему для меня.
Ответ 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, и он сработал.
Ответ 14
Если вы получаете
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
и красный
Command PhaseScriptExecution failed with a nonzero exit code
Вы должны установить конкретную версию libreadline, которая вам нужна
brew install readline
brew list --versions readline
brew switch readline 0.0.0
Ответ 15
Если в каталоге, где находится ваш проект, есть пробелы, возникает проблема. Чтобы решить эту проблему, добавьте двойные кавычки (""). Например:
"$ (SRCROOT)/моя структура/путь"