【问题标题】:Xcode 10 Command PhaseScriptExecution failed with a nonzero exit code (EXPANDED_CODE_SIGN_IDENTITY: unbound variable)Xcode 10 命令 PhaseScriptExecution 失败,退出代码非零(EXPANDED_CODE_SIGN_IDENTITY:未绑定变量)
【发布时间】:2019-02-13 12:58:09
【问题描述】:

做Project > Test时会弹出这个错误

/Users/.../Project/Pods/Target Support Files/Pods-Target/Pods-TargetTests-frameworks.sh:
line 104: EXPANDED_CODE_SIGN_IDENTITY: unbound variable
Command PhaseScriptExecution failed with a nonzero exit code

尝试使用 cocoapods 测试项目时,如何解决“Command PhaseScriptExecution failed with a nonzero exit code”错误?

【问题讨论】:

标签: cocoapods code-signing xcode10 xcode10beta6


【解决方案1】:

nvm 别名默认为 16.6.0,如果您希望它与该特定版本挂钩。

你也可以做 nvm alias default 16.

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:

如果您使用的是 M1/Apple Silicon Mac,请确保已正确设置排除架构。我不知道为什么这是必要的,但您可以这样做:

  1. 转到构建设置
  2. 确保查看“全部”(默认为“基本”)
  3. 展开“排除的架构”
  4. 在调试下,选择 Any iOS Simulator SDK,并为“arm64”添加一个值

对每个相关目标进行上述设置,在我的例子中,我有“Pods”、“Project”,然后是 iOS 目标。

【讨论】:

    【解决方案3】:

    清楚地检查问题,如果它与 swiftlint.yml 相关,那么这个隐藏文件必须存在于您的目录中。如果您正在处理多个模块,那么您可以从其他模块中复制并粘贴它(如果有)。

    【讨论】:

      【解决方案4】:

      重新启动 mac 对我有帮助,而不是 xcode。

      【讨论】:

        【解决方案5】:

        更新BuildSettingsPodfile后我也遇到了同样的问题

        我刚刚重新启动 Xcode 并打开了一个工作区 - .xcworkspace(不是项目 - .xcodeproj

        [Workspace vs Project]

        【讨论】:

        • 工作 - 我打开了项目文件,而不是工作区...:/
        【解决方案6】:
        • 删除Pods目录和Podfile.lock文件。
        • 运行 pod install 从头开始​​重新创建它们。
        • 清理 Xcode 项目。
        • 构建 Xcode 项目。

        【讨论】:

          【解决方案7】:

          我遇到了同样的问题,并且可以通过重命名项目来解决它。就我而言,这个错误是因为我的项目名称中有一个' 符号。

          【讨论】:

            【解决方案8】:
            On the top of - Pods-yourProjectName-frameworks.sh
            
            export EXPANDED_CODE_SIGN_IDENTITY=""
            export EXPANDED_CODE_SIGN_IDENTITY_NAME=""
            export EXPANDED_PROVISIONING_PROFILE=""
            

            这是 pod 更新的问题。

            【讨论】:

            • 这在 Xcode 12 beta 2 (Catalina) 和 Cocoapods v1.5.2 上对我有用!谢谢!
            【解决方案9】:

            转到 pod 文件夹并将文件更改为可执行文件。它对我有用。

            chmod +x filename
            

            filename => 你的文件名,比如“swiftlint”

            【讨论】:

              【解决方案10】:

              我已经处理这个问题几天了。它对我有什么作用。

              -将 cocoapods 更新到最新版本
              - 更新所有 pod
              -打开钥匙串访问并删除xcode制作的钥匙(关闭xcode)
              - 打开 Xcode 将重新创建一个新密钥并要求您输入密码。
              - 在此之后,我进行了清理和构建,应用程序在我的物理设备上运行。

              我希望这是有帮助的,因为它是一个非常烦人的错误。!

              【讨论】:

                【解决方案11】:

                这对我有帮助

                sudo gem install cocoapods --pre
                pod update
                

                我读过BugReport。问题与我的类似,已在 1.6.0.beta.1 (2018-08-16) (changelog) 中修复。

                更新(感谢Cœur

                1.6.0 (2019-02-07) 已发布

                sudo gem update cocoapods
                

                现在应该可以了。

                【讨论】:

                • 是的,这为我解决了问题。我们需要使用 beta 版本来避免这个问题,这有点荒谬。希望他们能尽快发布下一个稳定版本
                • 1.6.0 stable 两天前发布:无需再安装 CocoaPods 测试版:sudo gem update cocoapods 已经足够了。
                • 在执行这项费力的任务之前,请尝试解决方案 3。为此工作的地雷。 :)
                • 这有助于忽略 pod 的代码签名,但主 mac 应用程序的代码签名也需要禁用。
                【解决方案12】:

                我也遇到了同样的问题。事实证明,通过在 Xcode9 和 Xcode10 之间切换,有时可能会切换用于构建的命令行工具,因此我尝试使用 9.4 命令行工具而不是导致问题的 10 来构建它。

                转到首选项并将命令行工具设置到正确的选项为我解决了这个问题。

                对我有帮助的另一件事是再次禁用和启用 iCloud。 (不知道为什么。)

                【讨论】:

                  【解决方案13】:

                  嗯,一个简单的pod install 为我工作:)

                  【讨论】:

                    【解决方案14】:

                    我遇到了同样的问题,我相信这个问题也与钥匙串访问有关(代码签名问题),我去钥匙串访问解锁登录然后再次锁定它修复了这个问题。上传到 OSMojave 和 Xcode 10 钥匙串后需要重新验证密码。 (我怎么找到这个?虽然面临同样的问题并尝试所有可用的选项,我想再次生成证书,但在生成私钥时我发现钥匙串登录用户名和密码是错误的消息类型 -​​ 我再次锁定和解锁解决了我的问题)。请注意,此过程需要您的登录密码。

                    如何解决:- 短提示

                    Go to keychain access -> right click on login -> lock & unlock again 
                    -> clear Xcode project and make build again.
                    

                    【讨论】:

                    • 锁定和解锁钥匙链为我修复了它。无论哪种方式,这都解决了密码验证提示的问题。
                    【解决方案15】:

                    某些框架或 SDK 需要代码签名。

                    我完成了代码签名并为我解决了类似的问题。

                    【讨论】:

                      猜你喜欢
                      • 2020-07-08
                      • 2021-02-03
                      • 2021-07-21
                      • 2021-02-05
                      • 2021-07-07
                      • 2019-04-16
                      • 2020-12-01
                      • 2020-07-21
                      • 1970-01-01
                      相关资源
                      最近更新 更多