Xcode 10.2.1 Command PhaseScriptExecution failed with a nonzero exit code

Showing Recent Messages:-1: mkdir -p /Users/spritzindia/Library/Developer/Xcode/DerivedData/Contigo-atftiouzrdopcmcpprphpilawwzm/Build/Products/Debug-iphonesimulator/Contigo.app/Frameworks


Showing Recent Messages:-1: rsync --delete -av --filter P .*.?????? --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "/Users/pothi/Library/Developer/Xcode/DerivedData/Contigo-atftiouzrdopcmcpprphpilawwzm/Build/Products/Debug-iphonesimulator/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework" "/Users/pothi/Library/Developer/Xcode/DerivedData/Contigo-atftiouzrdopcmcpprphpilawwzm/Build/Products/Debug-iphonesimulator/Contigo.app/Frameworks"

Command PhaseScriptExecution failed with a nonzero exit code

I deleted derived data. i have tried :

keychain access -> right click on login -> lock & unlock again -> clear Xcode project

Restarted machine, no use

How do I resolve "Command PhaseScriptExecution failed with a nonzero exit code" error when trying to archive project.

And I am using those librarys

pod 'IQKeyboardManagerSwift'
pod 'SDWebImage', '~> 4.0'
pod 'KRPullLoader'
pod 'Paytm-Payments'
409361 次浏览

去吧

  1. - > Right-click on login-> Lock & unlock again

  2. - > Clean Xcode project-> Make build again

警告: 不推荐使用遗留生成系统,并将在进一步的版本中删除。

Xcode-> File-> Workspace Set-> change Build System to Legacy Build System Xcode-> 文件-> 工作区设置-> 将构建系统更改为遗留构建系统。

注意-这不是理想的解决方案。

我也犯过类似的错误

/{path to project root}/Pods/Target Support Files/Pods-{project name}/Pods-{project name}-frameworks.sh: Permission denied
Command PhaseScriptExecution failed with a nonzero exit code

在我的情况下,我收到了一个包含 Pods 文件夹的回购压缩文件。事实证明,在最初创建和发送给我之间的某个时刻,* 。Pods/Target Support Files/Pods-{PROJECT}/中的 sh 文件都失去了执行权限。给那些文件 +x是解决办法

例如: Chmod + x (错误中的文件名)

以我为例: chmod +x Pods-TestExample-frameworks.sh

我可以通过移除 Pods-> Targets Support Files-> Pods-AppName-> Pods-AppName-Framework 中的文件来解决这个错误。嘘。删除该文件后,再次使用命令 pod install 安装 pod。

或者。

试试这个:

- > 退出 xcode - > 安装吊舱(再次) - > 开始 xcode

从 IOS 目录运行以下命令:

  1. pod deintegrate
  2. pod install
  3. XCodeClean 构建

或者,一句话:

pod deintegrate; pod install

在尝试了所有的 解决方案之后,我缺少的是启用这个选项:

目标-> 构建阶段-> 嵌入式 pods 框架

在较新的版本中,它可能被列为:

目标-> 建立阶段-> 捆绑反应原生代码和图像

  • 只在安装时运行脚本

Build Phases

我错误地从我的系统卸载了 carthage。添加它为我解决了这个问题。

第一步: 下载并安装最新版本的迦太基 DMG: 迦太基

第二步:

carthage update --platform iOS --cache-builds

第三步: 运行项目 & 享受。 :)

也许你应该这样做:

  • 删除 .xcworkspacePod文件夹
  • 运行 pod install
  • 删除派生数据
  • 清理所有项目(点击前按 alt)

我尝试了以上的事情,它为我工作。

在 Xcode 11.5版中,我在苹果开发者主页上撤销了一个证书,然后再次添加(尽管后来看起来不一样了) ,也遇到了同样的问题:

每次我试图归档我的应用程序,它会在最后失败(不是吊舱,而是我的实际应用程序)与相同的 PhaseScriptExecution failed with a nonzero exit code错误消息。有/曾经有一个有效的团队拥有“苹果开发”的签名证书在“签名和能力”(项目文件在 Xcode)和锁定和解锁的钥匙链,清理和建立项目,重新启动,... 没有工作。

这个问题是由于有两个活动证书的同一类型,我必须添加在事故,除了更新的一个。我删除了更新的和复制的,它又工作了。

您可以找到您的证书 给你或者像下面这样找到页面:

也检查有没有任何副本在您的钥匙链!不过要小心——不要删除或添加任何东西,除非你知道你在做什么,否则你可能会制造一个巨大的混乱!

对于 Xcode 11,React 本机开发环境。 当依赖项没有更新时,我通常会遇到这个问题。

你可以试着按照下面的步骤来做,这对我来说通常是有效的:

1-删除您的 Podfile.lock (我喜欢在终端上使用’-rm-rf Podfile.lock’命令)

2-删除你的 Pods 文件夹(我喜欢在终端中使用命令’-rm-rf Pods’)

3-删除你的.xcworkspace

4-Pod 安装

5-将您的项目清除到 XCode > Product > Clean Build Folder

如果需要,请尝试以下步骤: Xcode 11.5 1-open 终端: cd Path _ project 2-cd 机器人清理完毕 3吊舱安装

如果没有任何改变,迈出这一步

1-为目标打开构建阶段-> [ CP ]嵌入豆荚框架 检查这个区域 enter image description here

从项目路径获取 pods-resources.sh 并粘贴到终端

sudo chmod a+x "Pods-resources.sh file path here"

示例用法:

sudo chmod a+x "/Users/path/Desktop-path/My Work-path/Pods/Pods-resources.sh"

在我的例子中,错误是由于我的机器上缺少空间造成的。删除旧版本修复了这个问题。

如果你正在做团结项目。你可以得到这个错误。

Command PhaseScriptExecution failed with a nonzero exit code

解决方法很简单

Https://forum.unity.com/threads/error-on-build.561706/

先决条件: 安装 cocoapods

不需要: < em > 1. 安装“ cocoapods” 要安装,请在终端运行以下代码: $sudo gem install cocoapods

  1. 使用终端打开项目文件夹
  2. 运行这条线: chmod +x MapFileParser.sh
  3. 运行这条线: chmod +x process_symbols.sh

对我很有效)

我认为安装“ cocoapods”是没有必要的,只有第3步和第4步足以解决,但它不工作,你可以尝试一下。

我在 React Native中有一个项目,突然出现了这个错误。我事先用自制的东西做了一些事情,这为我解决了一个问题:

brew update
brew upgrade
brew cleanup

删除 fileName 中的空格

例子)

  • AS-IS:/Users/user/Desktop/My Projects/TestProject/
  • TO-BE:/Users/user/Desktop/MyProjects/TestProject/

对我来说,我是删除 Crashlytics,织物和 FirebaseCrashlytics。因此,Fabric 有一个脚本(运行脚本)。因此,由于应用程序运行第一,我已经删除了框架,我得到了这个错误。因此,我删除了运行脚本选项卡的织物,然后它工作得非常好。

对我来说,问题在于 xcode 使用的节点版本。我的项目在世博会上建得很好,但在 Xcode 被迫退出后就不行了。我在这里找到了答案: https://github.com/expo/expo/issues/8488

  • 检查你有最新版本的节点

    $ node --version

  • 删除/usr/local/bin/中的版本

    $ rm /usr/local/bin/node

  • 重新添加系统链接

    $ ln -s $(which node) /usr/local/bin/node

在我的例子中,我修改了 Xcode 项目脚本中的一行,但是这一行写得很糟糕(我忘记在这一行的末尾添加“ ;”)。因此,我添加了“ ;”并清理和构建项目。

在我的情况下,我有 被移除了 运行脚本建造阶段在 XCode。

对我有帮助的是: 在目标-> 签名和能力 > 取消检查自动管理签名(或检查和取消如果未检查) > 建设项目

出错的另一个原因可能是 Xcode 在运行阶段运行脚本。

如果是这种情况,你有两个选择:

  1. 删除脚本 (如果该脚本不重要,那么这样做是有意义的)

  2. 修改/更新脚本位置路径 (Xcode 可能无法定位脚本)

Run Phase Script

对于我来说,脚本很重要,所以我修改/更新了它的位置。

最初,脚本位置路径是这样写的:

$SRCROOT/scripts/clean-assets.sh

因为脚本路径包含空格(我将项目移动到一个新目录) ,所以我将路径更改为:

"$SRCROOT"/scripts/clean-assets.sh

通过将引号添加到 斯克鲁特,并将其更改为 “ $SRCROOT”,错误将消失。

重启对我来说很管用... Mac OS 重启,不是 xCode 重启..。

我遇到这个问题是因为 Firebase Crashlytics 目标-> 建立阶段-> 运行脚本

我让 Firebase Crashlytics 写成

${PODS_ROOT}/FirebaseCrashlytics/run

我把它改成了双引号

"${PODS_ROOT}/FirebaseCrashlytics/run"

试试这个!

构建阶段 > > < strong > 新的运行脚本阶段

密码:

# Type a script or drag a script file from your workspace to insert its path.
# skip if we run in debug
if [ "$CONFIGURATION" == "Debug" ]; then
echo "Skip frameworks cleaning in debug version"
exit 0
fi


APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"


# This script loops through the frameworks embedded in the application and
# removes unused architectures.
find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK
do
FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"


EXTRACTED_ARCHS=()


for ARCH in $ARCHS
do
echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
done


echo "Merging extracted architectures: ${ARCHS}"
lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
rm "${EXTRACTED_ARCHS[@]}"


echo "Replacing original executable with thinned version"
rm "$FRAMEWORK_EXECUTABLE_PATH"
mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"


done

Xcode 将拒绝签署它们。上面的脚本删除了未使用的架构。

Xcode 12.2解决方案: 浏览:

  1. 构建设置-> 排除体系结构
  2. 删除“ arm64”

我什么都试过了,但都没用 对我来说,它是文件夹名中的一个空格

/swift files/project a/code.xcworkspace-> /swift _ files/project _ a/code.xcworkspace
如果我再往深处看,它就停在/迅速地

我尝试了以上的大部分。我正在发展的扑动,所以什么为我工作的是 pub cache repair

我在使用 response-national-config 时出现了错误。
得到这个错误,因为我有一个空行。 env 文件..。

FIRST_PARAM=SOMETHING


SECOND_PARAM_AFTER_EMPTY_LINE=SOMETHING

浪费了3个小时,也许会节省一些人的时间

对我来说,原因是在更改应用程序的名称时,我在名称中添加了一个单引号。 我尝试了不同的解决方案,遇到了不同的错误,但最后,在重命名应用程序,我没有包括’单引号,它解决了问题。

对我来说,问题出在哨兵身上。

  1. 在 Xcode 导航到 targets-> Build Phases
  2. 删除 Upload Debug Symbols to Sentry阶段
  3. 清除生成文件夹并再次尝试生成

从 Xcode 12.2开始,您需要从主目标和 CocoaPods 目标中删除 $(VALID_ARCHS)构建设置,并对所有目标使用 $(ARCHS_STANDARD)。此外,切换到遗留构建系统不再是一个好的解决方案,因为 Xcode 将在未来的发行版中反对这种做法。在应用这些更改之后和新重新生成之前清除派生数据。

我用 flutter 来创建 iOS 项目。 为模拟器生成时,由于相同的错误消息而失败。 这个问题可以通过下面的工作来解决。

代码12.3 构建设置-> 仅构建活动架构,设置为 Yes。

如果你经历了这个问题在颤动。尝试从其他 IDE (比如 android 工作室或 vs 代码)在真正的 iPhone 设备上运行应用程序。

问题是 flutter SDK 缺少 iOS 配置文件的发布。

通过运行 flutter 命令

flutter run

它在运行之前下载缺少的内容,这样就解决了问题。

我有这个问题,因为我的项目文件名有空间,例如“ Ariven2”,所以改为“ Ariven2”解决了这个问题。

快乐编码:)

我的解决方案,这些 arch -x86_64 pod install和等不工作,直到我做这些步骤:

  1. 在终端运行 sudo gem install ffi。

  2. 然后运行 arch -x86_64 pod install并重新构建。

工作正常。

原因

此构建阶段还允许您提供输入和输出文件的列表。当没有提供输入和输出文件时,脚本始终运行。当提供输入和输出文件时,脚本只有在以前从未运行过、一个输入文件已更改或一个输出文件丢失的情况下才会运行

如果您正在使用 cocoapods,则可能不需要额外的运行脚本。

解决办法

因此,解决方案是删除脚本,如下所示:

enter image description here

我从 Firebase CocoaPods 换成了 Swift 软件包经理。

旧的符号上传脚本仍然列在“构建脚本”阶段。

删除该文件并替换为推荐的任何内容 ' “ ${ BUILD _ DIR% BUILD/* }/SourcePackages/checkout/firebase-ios-sdk/Crashlytics/run”’。

在 Xcode 12.4中,经过几个小时的尝试找到了这个问题的解决方案。

转到 Target > ArchitecturesBuild Active Architecture Only设置为 YESExcluded Architecturesx86_64 enter image description here

对我来说有效的方法是使用“排除架构”,然后在每个选项上删除 arm64,然后进行干净的构建

就我而言,我的电脑内存不足 我打开了一些空间的存储,它像往常一样工作

我在 Xcode 13也遇到过同样的问题。我已经更新了 Crashlytics SDK 后,我得到了同样的问题。 在我的例子中,我遵循了 < strong > Solutions 2

解决方案一:

我已经从 运行脚本中删除了数据。

- > 目标-> 进入构建设置-> 点击运行脚本-> 删除脚本数据

enter image description here

解决方案2:

如果脚本对于您的项目是强制性的,那么只需选择 仅安装构建选项。

选择 仅用于安装构建选项

enter image description here

剧本:

"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/#####/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"

在上面的脚本 #####是应用程序名称,如果需要替换为您的应用程序名称。如果没有,请使用下面的脚本。

"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"

解决方案3

更重要的是,您必须正确设置文件的路径。

找到下面的示例路径。

你有多个谷歌服务列表堆,在这种情况下,你是 维护两个不同的文件。 你的谷歌服务信息列表文件是下 火焰基地,戴夫。在这种情况下,您必须正确地添加这些文件路径。否则将得到相同的错误。

"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/#####/Firebase/Dev/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"

解决方案3文件结构:

enter image description here

当我遇到这个错误时,仅仅是在归档时。运行和构建工作正常,但归档不断抛出错误。对我起作用的是更新我的 cocopod:

sudo gem update cocoapods

在我的例子中,我的 VALID _ ARCHS 包含 x86 _ 64。

事实上,我在构建我的第一个应用程序时遇到了这个问题,看起来就像是新的 flutter 版本2.5.3发生了一些变化,最新的版本是2.5。0,因为当我降级到2.5时,我在我的模拟器和我的 iPhone 上构建应用程序也没有任何问题

在我的案例中,“ pod‘ FirebaseUI/Facebook’”导致 Firebase 安装早期版本(终端: “ Instaling Firebase 2.5.1(was 8.10.0)”)。

从 pod 文件中删除“ pod‘ FirebaseUI/Facebook’”修复了它。

返回文章页面自然反应解决方案译者: 从项目根运行

(按项目名称修改“ PROJECTNAME”)

cd iOS


cd Pods/Target\ Support\ Files/Pods-PROJECTNAME


chmod 755 Pods-PROJECTNAME-resources.sh
error SyntaxError:
Component has already been declared. (68:2)

如果您看到以上错误,请查看 Xcode 日志,然后检查您的导航,我认为您在项目导航流中添加了一个双组件

对我来说没有什么工作,直到去 VSCode (IDE 应用程序) ,和 ios/App/App.xcodeproj/project.pbxproj的文件,并搜索 然后删除这一行,

我在 Xcode 也做了同样的事情,比如去 target>build settings,排除弧线的东西,从那里删除 arm64,以前没有工作,但从 VSCode 删除工作,奇怪

专门为扑扑准备的!

原来是因为我将一个包含 .dart文件的文件夹移动到了一个新位置,并且引用旧目录的导入仍然在代码中。删除这些导入可以解决问题。

不幸的是,对于 VSCode,您所得到的只是未使用导入的警告,而不是导入不存在的警告!打开 Xcode 会发现这些错误。

我在一个在 iOS 上运行的 React-Nativeproject 的上下文中遇到了这个错误。我做了几件事,所以很难知道是哪一件修好了它:

  • 确保您的 bash 或 zhrc 配置文件中没有错误-> 我有一个与我的 jdk 相关的错误。当打开终端窗口时,您将知道它是否显示错误/警告
  • 确保路径中没有空格
  • 如果您使用 Firebase,请确保您的 GoogleService-Info 文件在 IOS 文件夹中,而不是在 IOS > project 文件夹中
  • 不要将项目保存在 iCloud 文件夹 中,特别是在空间不足的情况下。我怀疑这对我来说是个很大的因素

最后,我的工作时,做这些和 运行反应-原生0.67.2。更新的版本本身并没有修复它,我必须至少执行这些其他断言中的一个才能让它工作。

需要考虑的事情:

  • 在 Xcode 运行这个项目通常会让你对问题有更深入的了解
  • 清除 Xcode build 文件夹本身并不足以修复它,但是当尝试一个潜在的解决方案时,重要的是你这样做(可能还有 pod deintegrate && pod install) ,以确保没有以前的 ios build 的痕迹。
  • 我正在运行节点版本16.13,运行节点17给了我不同的错误,我不会建议它的日期。 我正在运行 macOS 蒙特雷和 Xcode 13.2.1,但是我在 BigSur 和 Xcode 12.5.1上都试过了,还是出现了错误。

对于本机反应,这里讨论这个错误的长度: https://github.com/facebook/react-native/issues/31181

对于 Mac M1,删除构建设置中的 arm64,修复真实设备构建中的问题。当模拟器运行时,我添加这个字符串。

enter image description here

删除这些文件夹/文件

  1. PodFile
  2. PodFile.lock
  3. 豆荚
  4. 运行器 Xcworkspace

从 Android Studio 中选择 IOS 设备/Simulator 如果构建成功,则从 XCode 构建应用程序

  1. 删除 node_modules文件夹
  2. 删除 ios下的 Pods文件夹
  3. 运行 yarn cache clean
  4. 运行 yarn
  5. 运行 cd ios & pod install
  6. 享受建造

如果您需要在物理设备上运行该项目,那么在 Xcode 13.3中没有一个答案对我有效。对我有效的方法是删除所有地方的 project.pbxproj 中的 VALID _ ARCHS = x86 _ 64;。但这个不能让你在模拟器里跑

在终端到项目路径,并遵循以下步骤

  1. pod deintegrate

  2. pod cache clean --all

  3. pod install

面对同样的问题检查,如果您的项目的父目录名称没有空间举例来说,我的项目名称 todoapp 是在我的应用程序目录改为 MyApp,它应该工作。

颤振用户解决方案

如果你的应用程序是用 Flutter 开发的,以上步骤对我很有用:

跑步:

  1. 颤振跑
  2. 摇摆的酒吧
  3. 在 iOS 文件夹中运行‘ pod install
  4. 建造

我使用多开发环境。一个在办公室,一个在家。办公室是我不断使用和保持身材的地方。我在家里很少用的那个,因此它变得不同步了。我说的不是回购已经过时,而是发展环境本身。

因此,我的错误更多地与新的更新有关,这些更新来自于在 mu home 环境中不可用的已弃用/过时的类。在办公室里我升级到了 Flutter 3.3,但在家里我还在用 Flutter 3.0。所以在3.3中没有什么新东西是我开始使用的,而在3.0中不存在的。

解决方案是升级 Flutter,然后重新构建。 在终端运行 flutter upgrade

对于不稳定的开发人员: 确保 dart:htmldart:js包没有被导入到任何文件中。

我在使用 response-national-buildbob 构建示例 ios 项目时遇到了这个问题

解决这个问题的两种方法

  1. Https://stackoverflow.com/a/60090102/7152965上述结果
  2. 在示例目录中将 index.ts 文件重命名为 index.js 文件

修正了 Xcode 命令 PhaseScriptExecution 失败的非零退出代码

Xcode 11 + “ CommandPhaseScriptExecution 失败,退出代码非零”错误消息可能会让开发人员担心。这可能意味着应用程序或脚本没有正确运行。可以尝试一些潜在的解决方案来解决这个问题。

解决方案一 在终端应用程序中打开 Xcode 项目文件夹。 输入并执行下面的命令: pod debreak 执行此 < em > 命令: pod install 重新打开 Xcode > 转到 Product > Clean Build Folder。 再次运行你的应用程序。

解决方案二 去钥匙链入口。 从登录选项中再次选择锁定和解锁。 打开 Xcode > Clean Xcode Project > 再次运行构建。 如果这两种解决方案都不管用,那么就有可能向苹果寻求支持。

来源: 修正非零退出码

我在 Xcode 14(error build: Command PhaseScriptExecution failed with a nonzero exit code)中也遇到过类似的问题。这个错误似乎是对一些更详细的错误的非常笼统的描述,但我有一段时间没有意识到这一点。

最后,我在 Build 日志中找到了对错误的描述,但是在那里导航真的很令人沮丧。我建议您先阅读详细的错误,然后再采取行动。Xcode 不是那么直观... 跟随 这个并在那里导航。我希望这能为某人节省时间。

这个问题实际上与您的 Xcode 构建阶段脚本有关。
在我的案例中,在 Target -> Build Phases -> Bundle React Native code and Images中,我在 Sentry 的构建脚本中发现了一些问题。
它是节点二进制所在的路径。我的脚本希望节点在 usr/local/bin/node中,但我的路径是 opt/homebrew/bin/node之类的。
所以我只是卸载通过自制的节点和安装节点直接从他们的主页。现在它的工作就像魅力。