Я поддерживаю ионно-конденсаторный проект, поддерживающий платформу iOS и Android. Я могу создать проект локально и без проблем запустить его на устройстве. Но при архивации выскакивает следующая ошибка:
PhaseScriptExecution [CP]\ Embed\ Pods\ Frameworks
/Users/fabus/Library/Developer/Xcode/DerivedData/App-
gkhellzebxgrxeeuozvkjsnejnul/Build/Intermediates.noindex/ArchiveInter
mediates/App/IntermediateBuildFilesPath/App.build/Release-
iphoneos/App.build/Script-9592DBEFFC6D2A0C8D5DEB22.sh (in target
'App' from project 'App') cd
/Users/fabus/Development/showmaker/showmaker_festivals/ios/App
/bin/sh -c /Users/fabus/Library/Developer/Xcode/DerivedData/App-
gkhellzebxgrxeeuozvkjsnejnul/Build/Intermediates.noindex/ArchiveInter
mediates/App/IntermediateBuildFilesPath/App.build/Release-
iphoneos/App.build/Script-9592DBEFFC6D2A0C8D5DEB22.sh
mkdir -p /Users/fabus/Library/Developer/Xcode/DerivedData/App-
gkhellzebxgrxeeuozvkjsnejnul/Build/Intermediates.noindex/ArchiveInter
mediates/App/BuildProductsPath/Release-iphoneos/App.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/Cap
acitor.framework"
"/Users/fabus/Library/Developer/Xcode/DerivedData/App-
gkhellzebxgrxeeuozvkjsnejnul/Build/Intermediates.noindex/ArchiveInter
mediates/App/InstallationBuildProductsLocation/Applications/App.app/F
rameworks" building file list ... rsync: link_stat
"/Users/fabus/Development/showmaker/showmaker_festivals/ios/App/../..
/../IntermediateBuildFilesPath/UninstalledProducts/iphoneos/Capacitor
.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/97f6331a-ba75-11ed-
a4bc-
863efbbaf80d/Library/Caches/com.apple.xbs/Sources/rsync/rsync/main.c(
996) [sender=2.6.9] Command PhaseScriptExecution failed with a
nonzero exit code
Я использую следующие стручки:
pod 'Capacitor', :path => '../../node_modules/@capacitor/ios'
pod 'CapacitorCordova', :path => '../../node_modules/@capacitor/ios'
pod 'CapacitorApp', :path => '../../node_modules/@capacitor/app'
pod 'CapacitorBrowser', :path => '../../node_modules/@capacitor/browser'
pod 'CapacitorHaptics', :path => '../../node_modules/@capacitor/haptics'
pod 'CapacitorKeyboard', :path => '../../node_modules/@capacitor/keyboard'
pod 'CapacitorNetwork', :path => '../../node_modules/@capacitor/network'
pod 'CapacitorPushNotifications', :path => '../../node_modules/@capacitor/push-notifications'
pod 'CapacitorSplashScreen', :path => '../../node_modules/@capacitor/splash-screen'
pod 'CapacitorStatusBar', :path => '../../node_modules/@capacitor/status-bar'
pod 'CordovaPlugins', :path => '../capacitor-cordova-ios-plugins'
pod 'CordovaPluginsStatic', :path => '../capacitor-cordova-ios-plugins'
Я уже удалил/обновил модули в своей папке ios. Очистил папку сборки Shift-Command-k. Кроме того, в имени моего проекта нет специальных символов или пробелов, и я обновил все свои сертификаты/загрузил их в xcode. Перезагрузка машины тоже не решает.
Я также проверил параметр «Только для установки сборки» на этапах сборки (Цели > Приложение > Этапы сборки), как было предложено здесь
В последнее время я не трогал свои файлы сборки (capacitor.config, package.json, ...)
Выполнение команды вручную приводит к следующему выводу:
/Users/fabus/Library/Developer/Xcode/DerivedData/App-gkhellzebxgrxeeuozvkjsnejnul/Build/Intermediates.noindex/ArchiveIntermediates/App/IntermediateBuildFilesPath/App.build/Release-iphoneos/App.build/Script-9592DBEFFC6D2A0C8D5DEB22.sh: line 2: /Target Support Files/Pods-App/Pods-App-frameworks.sh: No such file or directory
Похоже, есть проблема с Xcode 14.3 и выше. На форуме разработчиков iOS есть открытые вопросы.
ссылка: https://developer.apple.com/forums/thread/725230?answerId=746897022#746897022
Идея может заключаться в том, чтобы перейти на 14.2 и посмотреть, работает ли она.
Другой обходной путь без понижения версии: Откройте проект в Xcode. Перейдите в Pods -> Target Support Files -> Pods-App-Frameworks и измените строку 44 на приведенную ниже (в основном добавляя -f в существующий код):
источник = "$ (ссылка для чтения -f "$ {источник}")"
Хорошее решение. Можете ли вы объяснить, почему нам нужно принудительно (добавить флаг -f)?
@thomasmary в этом контексте флаг -f означает «канонизировать». Он используется для получения абсолютного пути к указанному файлу или каталогу, разрешая все символические ссылки и относительные пути. Таким образом, строка 44 устанавливает исходную переменную в абсолютный путь к файлу или каталогу, на который она изначально указывала, разрешая любые символические ссылки и относительные пути в процессе.
Спасибо! Исправление Pods-app-frameworks -f хорошо работает в Xcode 14.3 для сборок IDE и архивирования ipa с помощью xcodebuild
CLI. Ошибка отображалась как «cocoapods DVTCoreDeviceEnabledState» при создании приложения ионного конденсатора из командной строки.
ваша другая работа вокруг работы для меня, и большое спасибо, я застрял с этим на 2 дня
У меня работало 14.3
Не удалось найти параметр, который вы описываете в xcode, с другой стороны, как указано в предоставленной вами ссылке, есть файл, который легче найти в APPNAME/ios/App/Pods/Target Support Files/Pods-YOURAPP/Pods-YOURAPP-frameworks.sh
.
у меня тоже такая же проблема
Обновите Cocopods до версии 1.12.1, в которой есть исправление.
gem update cocoapods
или bundle update cocopods
, если используется пакет, или brew upgrade cocoapods
, если он установлен с brew.
Это лучший ответ, потому что он сохраняется даже после удаления каталога Pods
и переустановки заново (например, на новом компьютере).
@thehale, как вы могли видеть по дате, когда я ответил, у кокоаподов еще не было исправления с обновлением.
@RoshanKhadka Ваш ответ был эффективным решением насущной потребности. Однако теперь, когда уcocopods есть исправление, этот ответ теперь обеспечивает более надежное и, следовательно, лучшее решение проблемы.
@thehale, конечно, согласен!
действительно, я переключил галочку. Спасибо ребята!
Найдите файл Pods-App-Fremeworks.sh и измените код:
if [ -L "${source}" ]; then
echo "Symlinked..."
source = "$(readlink "${source}")"
fi
для этого: (добавьте опции -f после r
if [ -L "${source}" ]; then
echo "Symlinked..."
source = "$(readlink -f "${source}")"
fi
Это сработало для меня. Я надеюсь помочь вам.
нет не помогло
Как только вы сделаете следующее изменение:
if [ -L "${source}" ]; then
echo "Symlinked..."
source = "$(readlink -f "${source}")"
fi
Нам нужно сделать эти шаги, чтобы заставить его работать:
Введите echo "Symlinked..."
в поиске Xcode.
Добавить -f
после ссылки для чтения
Или замените source = "$(readlink "${source}")"
на source = "$(readlink -f "${source}")"
Он работает нормально для меня.
Действительно! Я понизил версию до 14.2 - чистая установка работает!!! Большое спасибо, вы спасли мой день!!!