Обновление с xCode 14.2 до 14.3 Ошибка PhaseScriptExecution с ненулевым кодом выхода

Я обновился с xcode 14.2 до бета-версии xcode 14.3, и теперь я больше не могу архивировать любое устройство iOS (arm64) со следующей ошибкой:

      PhaseScriptExecution [CP]\ Embed\ Pods\ Frameworks

mkdir -p /Users/max/Library/Developer/Xcode/DerivedData/Max-dmwafkgdrzqavzcmbdjbjgmmuxby/Build/Intermediates.noindex/ArchiveIntermediates/Release_preprod/BuildProductsPath/Release_preprod-iphoneos/MaxApp.app/Frameworks

Symlinked...

rsync --delete -av --filter P .*.?????? --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "../../../IntermediateBuildFilesPath/UninstalledProducts/iphoneos/ActionSheetPicker_3_0.framework" "/Users/max/Library/Developer/Xcode/DerivedData/Max-dmwafkgdrzqavzcmbdjbjgmmuxby/Build/Intermediates.noindex/ArchiveIntermediates/Release_preprod/InstallationBuildProductsLocation/Applications/MaxApp.app/Frameworks"

building file list ... rsync: link_stat "/Users/max/Workspace/MaxApp/../../../IntermediateBuildFilesPath/UninstalledProducts/iphoneos/ActionSheetPicker_3_0.framework" failed: No such file or directory (2)

done



sent 29 bytes  received 20 bytes  98.00 bytes/sec

total size is 0  speedup is 0.00

rsync error: some files could not be transferred (code 23) at /AppleInternal/Library/BuildRoots/9e200cfa-7d96-11ed-886f-a23c4f261b56/Library/Caches/com.apple.xbs/Sources/rsync/rsync/main.c(996) [sender=2.6.9]

Command PhaseScriptExecution failed with a nonzero exit code

Есть идеи, почему он отлично работает с xCode 14.2, а не с бета-версией xCode 14.3, пожалуйста?

Я попытался удалить скрипт [CP] Embed Pods Frameworks, но он создал его заново и получил ту же проблему. Я пытался построить и отладить в симуляторе, и он отлично работает. Я попытался удалить "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; в файле .pbxproj

4 ответа

Решение этой проблемы было одной из самых сложных ошибок в моей жизни..

Я решил эту проблему для проекта Flutter, в вашем случае это может быть собственный проект iOS.

Проще сделать следующее:

1- Откройте свой проект с помощью XCode.

2- Поиск"Symlinked..."

3- Заменитьsource="$(readlink "${source}")"сsource="$(readlink -f "${source}")"

4- Попробуйте еще раз собрать свой проект или экспортировать свой ipa, все должно работать.

Для справки проверьте более подробную информацию здесь

Обновление 2: 18 апреля 2023 года наконец-то была выпущена новая версия CocoaPods 1.12.1, которая включает исправления, необходимые для решения проблемы, о которой говорится в этом билете: https://github.com/CocoaPods/CocoaPods/releases/tag/1.12.1

Примечание. Если вы редактировали файлы в своем проекте для решения проблемы или переключились на главную ветку CocoaPods, возможно, вы захотите отменить эти изменения, поскольку они больше не нужны из-за выпуска CocoaPods 1.12.1, если вы сохраните изменения, с которыми вы можете столкнуться в будущем, см. мое «РЕДАКТИРОВАНИЕ» в конце этой заявки, чтобы узнать больше.

Обновление 1: запрос на включение с исправлением (упомянутый в моем первоначальном ответе) был объединен с основной веткой Cocopods (3 апреля: https://github.com/CocoaPods/CocoaPods/issues/11808#issuecomment-1494709564). но он еще не выпущен, он должен быть частью следующего выпуска 1.12.1 (как прокомментировал здесь один из сопровождающих: https://github.com/CocoaPods/CocoaPods/pull/11828#issuecomment-1496357883), но на данный момент этого еще не произошло (вы можете следить за списком выпусков здесь: )

Если вы используете Ruby Geme для установки какао-стручков и не хотите выполнять переход с Xcode 14.3 на 14.2 (как описано в моем первоначальном ответе), вы можете вручную переключиться на главную ветку какао-стручков, используя следующие команды:

      git clone https://github.com/CocoaPods/CocoaPods.git --branch master
cd CocoaPods
gem build cocoapods.gemspec
gem install ./cocoapods-*.gem

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

      pod install

Первоначальный ответ: у меня похожая проблема, похоже, она связана с стручками какао, здесь есть заявка о проблеме: https://github.com/CocoaPods/CocoaPods/issues/11808#issuecomment-1481244508

запрос на включение с возможным исправлением уже отправлен пользователем github: https://github.com/CocoaPods/CocoaPods/pull/11828

если вы хотите применить исправление самостоятельно, а не ждать релиза, вы можете сделать то, что предложил автор исправления (в его последующем комментарии: https://github.com/CocoaPods/CocoaPods/issues/11808#issuecomment-1480802886):

Обходной путь — обновить все сгенерированные файлы ...-frameworks.sh, добавив флаг -f к вызову readlink. Другими словами, замените:

      source="$(readlink "${source}")"

с

      source="$(readlink -f "${source}")"

если вы прокрутите один комментарий вниз, вы найдете комментарий другого пользователя github с другим временным решением, которое заключается в переходе на инструменты сборки xcode с 14.3 до 14.2 для сборок (работает как для сборок в IDE, так и для сборок в облаке xcode):

вот скриншоты из этого билета, показывающие, как перейти с версии инструментов командной строки 14.3 на версию 14.2 в Xcode IDE:

в вашей среде разработки Xcode (Xcode 14.3) перейдите в «Настройки», откройте вкладку «Местоположения», затем выберите «Инструменты командной строки» и выберите «Xcode 14.2 (14C18)».

и если вы используете облако Xcode для создания своих сборок, вместо этого обратитесь к этому снимку экрана, чтобы изменить версию Xcode в своем рабочем процессе (вы можете редактировать рабочий процесс либо в своей среде разработки Xcode, либо на веб-сайте Appstore Connect ( https://appstoreconnect . apple.com/)):

отредактируйте свой «рабочий процесс» > «Среда», а затем выберите в качестве версии Xcode «Xcode 14.2 (14C18)» (вместо 14.3)

РЕДАКТИРОВАТЬ: Я рекомендую посмотреть выпуск 1.12.1 здесь: https://github.com/CocoaPods/CocoaPods/releaseshttps://github.com/CocoaPods/CocoaPods/releases , в котором будет исправлено, вы также можете подписаться на билет github и PR (упомянутый выше), чтобы при исправление выпущено, вы больше не будете вручную понижать версию xcode (всегда лучше использовать последнюю версию, если вы сохраните ее более раннюю версию, это вызовет проблемы в будущем, поскольку в какой-то момент пакеты и инструменты, которые вы используете для своего приложения, будут несовместим с xcode 14.2) или если вы решили использовать главную ветку Cocoapods, вы можете после выпуска захотеть отменить это изменение, чтобы снова использовать версию выпуска, а не главную ветку (главная ветка может включать функции, которые все еще нестабильны, поскольку они находятся в стадии бета-тестирования по сравнению с релизной версией, которая считается стабильной)

Если вы использовали Xcode или Xcode Cloud, просто перейдите на версию 14.2.

Для Xcode:

Для облака Xcode:

Если вы столкнулись с ошибкой при экспорте сборки в Xcode 14.3, есть хорошие новости: Cocoapods скоро выпустит сборку (версия 1.12.1), которая решит эту проблему.

А пока вы можете попробовать следующее решение: перейдите кPods/Target Support Files/Pods-ProjectName/каталог и откройтеPods-ProjectName-frameworks.shфайл. Затем замените строку 44 кодом"$(readlink "${source}")"с"$(readlink -f "${source}")".

Источник: https://github.com/CocoaPods/CocoaPods/pull/11828 .

Версия какаоподов1.12.1еще не выпущен.

Надеюсь, это сработает.

Другие вопросы по тегам