Xcode 10 命令 PhaseScriptExecution 失败,退出代码非零(EXPANDED_CODE_SIGN_IDENTITY:未绑定变量)

Xcode 10 Command PhaseScriptExecution failed with a nonzero exit code (EXPANDED_CODE_SIGN_IDENTITY: unbound variable)

做项目>测试时弹出这个错误

/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" 错误?

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

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

这对我有帮助

sudo gem install cocoapods --pre
pod update

我读过 BugReport. Problem was similar to mine and it was fixed in 1.6.0.beta.1 (2018-08-16) (changelog).

已更新(感谢Cœur

1.6.0 (2019-02-07) 已发布

sudo gem update cocoapods

现在应该可以了。

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

如何修复:- 小提示

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

嗯,一个简单的pod install对我有用:)

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

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

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

我这几天一直在处理这个问题。对我来说是什么。

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

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

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

chmod +x filename

filename => 你的文件名 "swiftlint"

我在更新 BuildSettingsPodfile

后遇到了同样的问题

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

[Workspace vs Project]

On the top of - Pods-yourProjectName-frameworks.sh

export EXPANDED_CODE_SIGN_IDENTITY=""
export EXPANDED_CODE_SIGN_IDENTITY_NAME=""
export EXPANDED_PROVISIONING_PROFILE=""

这是 pod 更新的问题。

我遇到了同样的问题,只需重命名项目即可解决。在我的例子中,这个错误是因为我的项目名称中有一个 ' 符号。

  • 删除 Pods 目录和 Podfile.lock 文件。
  • 运行 pod install 从头开始​​重新创建它们。
  • 清理 Xcode 项目。
  • 构建 Xcode 项目。

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

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

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

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

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

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

你也可以做nvm alias default 16.

就我而言,我尝试了很多解决方案但都是徒劳

解决方案:我只执行“Pod deintegrate”,然后“pod install”,然后我的项目就可以完美运行了。