Xcode 10.2.1 命令 PhaseScriptExecution 失败,退出代码为非零

Posted

技术标签:

【中文标题】Xcode 10.2.1 命令 PhaseScriptExecution 失败,退出代码为非零【英文标题】:Xcode 10.2.1 Command PhaseScriptExecution failed with a nonzero exit code 【发布时间】:2019-04-16 18:56:20 【问题描述】:
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"

命令 PhaseScriptExecution 失败并出现 nonzero 退出代码

我删除了派生数据。 我试过了:

钥匙串访问 -> 右键单击​​登录 -> 再次锁定和解锁 -> 清除 Xcode 项目

重启机器,没用

尝试存档项目时如何解决“Command PhaseScriptExecution failed with a nonzero exit code”错误。

我正在使用这些库

pod 'IQKeyboardManagerSwift'
pod 'SDWebImage', '~> 4.0'
pod 'KRPullLoader'
pod 'Paytm-Payments'

【问题讨论】:

就我而言,我只需要clean derived data 并再次构建。 您能在构建阶段部分分享您的运行脚本吗? 这里让我受益:***.com/questions/61116011/…我建议你去看看。 每次收到此错误时,我都可以重新启动机器。 我遇到了这个问题,因为我的项目文件名有空格,例如。 "Ariven 2" ,所以改成 "Ariven2" 解决了这个问题。 【参考方案1】:

在尝试了所有解决方案之后,我缺少的是在以下位置启用此选项:

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

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

目标 -> 构建阶段 -> 捆绑 React Native 代码和图像

仅在安装时运行脚本

【讨论】:

谁能解释为什么这个答案有效?这也会导致我应该注意的任何意外行为吗? @NickLeGorrec,请查看以下链接以了解它们:***.com/questions/5913199/…***.com/questions/6910901/… 在设备上进行调试安装(从 Xcode 构建和运行)不算作“安装”。运行脚本仅在归档时运行 现在它已更改为运行脚本:仅用于安装构建 非常感谢,花了一整天的时间尝试其他解决方案,结果解决了!【参考方案2】:

前往

    Keychain Access -> Right-click on login -> Lock & unlock again

    Xcode -> Clean Xcode project ->Make build again

【讨论】:

嗨叉子,您可以针对此问题提出其他建议。这个解决方案对我不起作用,我发布的问题的链接是 - ***.com/questions/58444972/… 什么是“钥匙串访问”?请提供上下文。 @AndrewKoster Keychain Access 是 Mac 中实用程序中的一个程序。 Cmd Tab keychain Access 找到它 对我来说,还删除了 Podspodfile.lock 并重新安装了 pod 锁定/解锁选项对我来说是禁用的。有什么解决办法吗?【参考方案3】:

ios 目录运行以下命令:

    pod deintegrate pod install XCode 清理构建

或者,单线

pod deintegrate; pod install

【讨论】:

嘿@Abhishek,我投票支持你的答案,它有效,但它只适用于xCode,我使用的是React-Native,并且在其中继续给出同样的错误,但谢谢。 没有解决 react-native 中的问题【参考方案4】:

Xcode -> 文件 -> 工作区设置 -> 将 Build System 更改为 Legacy Build System。

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

【讨论】:

返回 Pods/Target Support Files 目录的 Permission Denied 这可能会解决问题,但不是理想的解决方案,因为 XCode New Build System 旨在优化构建过程。 谢谢,这帮助我解决了旧项目的这个问题。 你没有解决问题,你只是隐藏它们。 将设置更改为Legacy Build System 至少向我显示了错误消息。我解决了这个问题,然后再次将其设置为新的构建设置谢谢 Haseeb!【参考方案5】:

对我来说,我删除了 Crashlytics、Fabric 和 FirebaseCrashlytics。所以就有了 Fabric 的脚本(Run Script)。因此,由于应用程序首先运行并且我已经删除了框架,所以我收到了这个错误。所以我删除了 Fabrics 的 Run Script 选项卡,然后它运行得非常好。

【讨论】:

对我来说同样的问题 - 删除 Crashlytics - 如果你转到 Targets > Build Phases > Run Scrip 并删除相关行 - 全部修复! @SteveB 工作得很好,谢谢【参考方案6】:

Xcode 12.2 解决方案: 前往:

    构建设置 -> 排除的架构 删除“arm64”

【讨论】:

它可以工作,但是当它是真正的设备时,我需要在需要使用模拟器时再次添加 arm64。我的 Xcode 版本是 12.5.1,使用 Mac M1、真实设备、iPhone 7。任何帮助。【参考方案7】:

由于 Firebase Crashlytics,我遇到了这个问题。在 目标 -> 构建阶段 -> 运行脚本

我的 Firebase Crashlytics 是这样写的

$PODS_ROOT/FirebaseCrashlytics/run

我把它改成了双引号

"$PODS_ROOT/FirebaseCrashlytics/run"

【讨论】:

【参考方案8】:

对我来说,问题在于 xcode 使用的节点版本。我的项目在 Expo 中构建良好,但在弹出后在 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

【讨论】:

嗨 @Mike Skinner 我试过 $ node --version 但似乎我的 Mac 上根本没有安装 node...知道如何安装它吗? 这是我的问题!谢谢你:)【参考方案9】:

重新启动对我有用...Mac OS 重新启动,而不是 xCode 重新启动...

【讨论】:

【参考方案10】:

在我的情况下,错误是由于我的机器空间不足引起的。删除旧版本解决了这个问题。

【讨论】:

感谢这对我有帮助,我的电脑因删除和重新安装 pod 而已满,所以我清空了 bin,这很有效 在这种情况下是否有可用的 13 GB 存储空间? @Mumtaz Hussain,抱歉,我不记得我有多少可用存储空间。 13GB 的声音就足够了,但肯定会根据您的具体情况而有所不同。【参考方案11】:

如果需要,请尝试此步骤:Xcode 11.5 1-打开终端:cd Path_project 2- cd pod clean 3- 吊舱安装

如果没有任何改变,请执行此步骤

1- 为目标打开构建阶段 -> [CP] 嵌入 Pods 框架 检查此字段

【讨论】:

【参考方案12】:

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

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

    删除脚本(如果脚本不重要则有意义)

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

就我而言,脚本很重要,所以我修改/更新了它的位置。

原来脚本位置路径是这样写的:

$SRCROOT/scripts/clean-assets.sh

由于脚本路径包含空格(我将项目移动到新目录),我将路径更改为:

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

通过将引号添加到 SRCROOT,将其更改为 "$SRCROOT",错误就会消失。

【讨论】:

这是唯一的帮助。谢谢!【参考方案13】:

原因

此构建阶段还允许您提供输入和输出文件的列表。该脚本始终在未提供输入和输出文件时运行。提供输入和输出文件时,脚本仅在之前从未运行过、输入文件之一已更改或输出文件之一丢失时运行

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

解决方案

所以解决方案是删除脚本如下:

【讨论】:

在真机上部署会不会出问题?【参考方案14】:

我遇到了类似的错误

/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 文件夹的 repo 压缩包。事实证明,在它最初创建并发送给我之间的某个时刻,Pods/Target Support Files/Pods-PROJECT/ 中的 *.sh 文件都失去了执行权限。提供这些文件 +x 是解决方案

【讨论】:

你能举个例子吗? +x 解决方案是什么意思? @SwiftyCodes 我指的是如何更改文件权限。查看如何使用chmod更改文件权限 天哪,谢谢!我正在通过 Azure Devops 构建应用程序,并将源文件打包到工件中。为每个环境构建离子应用程序。 Settings chmod -R ./ios(包含 Pods 项目的文件夹解决了这个问题! +1 用于指向权限问题。我正在使用命令“npx react-native run-ios”,但由于此错误而失败。然后我只使用了“sudo npx react-native run-ios”,它就起作用了。【参考方案15】:

如果您在 Flutter 中遇到此问题。尝试从其他 IDE(如 android studio 或 vs code)在真正的 iPhone 设备上运行应用程序。

问题是 Flutter SDK 缺少 iOS-profile-release。

所以通过运行颤振命令

flutter run

它会在运行前下载丢失的东西,这样就解决了问题。

【讨论】:

拯救我的一天,谢谢!【参考方案16】:

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

您可以尝试按照以下步骤操作,这通常对我有用:

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

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

3- 删除您的 .xcworkspace

4- Pod 安装

5- 将您的项目清除到 XCode> 产品> 清理构建文件夹

【讨论】:

【参考方案17】:

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

brew update
brew upgrade
brew cleanup

【讨论】:

【参考方案18】:

在 Xcode 12.4 中,经过数小时的尝试找到了解决方案。

转到Target > ArchitecturesBuild Active Architecture Only 设置为YESExcluded Architecturesx86_64

【讨论】:

【参考方案19】:

我在 Xcode 13 中遇到了同样的问题。之后我更新了 Crashlytics SDK,我遇到了同样的问题。 就我而言,我遵循了 Solution2

解决方案 1:

我已从 Run Script 中删除了数据。

-> Targets -> 进入 Build Settings -> 点击 Run Script -> Remove data

解决方案 2: 如果脚本对您的项目是强制性的,只需选择 install builds only 选项。

选择仅用于安装版本选项

【讨论】:

这是完美的解决方案.....【参考方案20】:

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

第 1 步: 在此处下载并安装最新的迦太基 DMG:Carthage

第 2 步:

carthage update --platform iOS --cache-builds

第 3 步: 运行项目并享受。 :)

【讨论】:

【参考方案21】:

我尝试了以上所有方法都没有奏效 对我来说,它是文件夹名称中的一个空格

/swift 文件/project a/code.xcworkspace -> /swift_files/project_a/code.xcworkspace 成功了如果我看得更深,它会停在 /swift

【讨论】:

【参考方案22】:

我在使用 react-native-config 时遇到了错误。 收到此错误,因为我在 .env 文件中有一个空行...

FIRST_PARAM=SOMETHING

SECOND_PARAM_AFTER_EMPTY_LINE=SOMETHING

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

【讨论】:

谢谢!我从 4-5 小时就被困住了 :(【参考方案23】:

对我来说,问题在于 Sentry。

    在 Xcode 中导航到 targets->Build Phases 删除Upload Debug Symbols to Sentry阶段 清理构建文件夹并再次尝试构建

【讨论】:

这行得通,谢谢。但是删除它有什么影响? 在 react native 上也为我工作,删除上传到 bugsnag 并且它有效。【参考方案24】:

如果您正在执行 Unity 项目。你会得到这个错误。

Command PhaseScriptExecution failed with a nonzero exit code

解决方法很简单

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

先决条件:安装 cocoapods

不需要:1。安装“cocoapods” 在终端中安装运行以下行:$sudo gem install cocoapods

    使用终端打开您的项目文件夹 运行此行:chmod +x MapFileParser.sh 运行此行:chmod +x process_symbols.sh

它对我有用)

我觉得安装“cocoapods”不是必须的,只要3、4步就可以解决了,但是不行,可以试试。

【讨论】:

谢谢。运行两个终端命令对我有用。不需要可可足类动物。【参考方案25】:

我使用 Flutter 创建 iOS 项目。 为模拟器构建时,失败并显示相同的错误消息。 通过以下工作解决。

xCode 12.3 Build Settings->Build Active Architecture Only,设置为Yes。

【讨论】:

你成就了我的一天 :) 。我正在使用 Xcode 12.4【参考方案26】:

我能够通过删除 Pods -> Targets Support Files -> Pods-AppName -> Pods-AppName-frameworks.sh 中的文件来解决此错误。删除该文件后,再次使用命令 pod install 安装 pod。

或。

试试这个:

-> 退出 xcode -> 安装 pod(再次) -> 启动 xcode

【讨论】:

【参考方案27】:

从项目路径中获取 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"

【讨论】:

【参考方案28】:

就我而言,我已从 XCode 的 Build Phase删除 Run Script

【讨论】:

【参考方案29】:

上面的大部分我都试过了。我在 Flutter 中开发,所以对我有用的是 pub cache repair

【讨论】:

【参考方案30】:

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

【讨论】:

以上是关于Xcode 10.2.1 命令 PhaseScriptExecution 失败,退出代码为非零的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Swift 5 在 Xcode 10.2.1 中添加 alamofire

Xcode 10.2.1 界面构建器 - 无法在视图控制器(或文档大纲)上移动(拖动)UI 元素

如何使用户定义的运行时属性在 xcode 10.2.1 和 ios 12.2 中起作用

更新到 Xcode 10.2.1 后出现数百条警告。发布到 App Store 还可以吗?

安装 Xcode10.2.1 但仍然收到错误“使用 Swift 5.0.1 编译的模块无法由 Swift 5.1 编译器导入”

[转]iOS 10.2 XCode 8.2 证书申请 远程推送 打包上架