在 xcode 版本 10.2 中为产品类型“应用程序”签署二进制文件时,空标识无效

Posted

技术标签:

【中文标题】在 xcode 版本 10.2 中为产品类型“应用程序”签署二进制文件时,空标识无效【英文标题】:An empty identity is not valid when signing a binary for the product type 'Application' in xcode version 10.2 【发布时间】:2019-04-03 07:45:34 【问题描述】:

我已经编译了webrtc ios源代码,然后我使用了命令:

gn gen out/ios --args='target_os="ios" target_cpu="arm64"' --ide=xcode

然后我用 Xcode 打开工作区。

但是当我编译代码时,Xcode 在下面给出了这个错误。

为产品类型“应用程序”签署二进制文件时,空标识无效。 (在目标“AppRTCMobile”中)

我的 Xcode 版本是 10.2,最新版本。

我真的不知道这是怎么回事,谁能帮帮我?

我的代码符号设置是:

一切正常。

【问题讨论】:

检查您的代码签名设置。您是否为目标使用了正确的团队和个人资料? Team: kai zhang Signing Certiticate iPhone Developer :........,这个账号可以用来构建其他程序。 您的项目中没有关联的 info.plist。单击该选择 info.plist 文件,然后为该项目选择一个。 谢谢,但不幸的是,它不起作用。 这是我的错误,我应该选择目标AppRTCMobile,然后选择info.plist,谢谢,它对我有帮助。 【参考方案1】:

我添加了CODE_SIGNING_ALLOWED=NO 作为附加参数,它为我解决了这个问题。

【讨论】:

我的缺少CODE_SIGN_IDENTITY,但您的修复找到了我的!【参考方案2】:

我需要关闭Automatic manage signing 然后再打开它。看起来 Xcode 确实通过该操作修复了一些不一致的问题。

【讨论】:

【参考方案3】:

我在 Xcode 12.2b 中构建以在设备上运行时看到此错误,但我没有将签名设置为自动或选择的配置文件等。

基本上我在模拟器上运行和测试,然后插入设备进行测试,忘记更改任何签名设置。

也许这个错误对于 Xcode 12.x 来说是新的。

【讨论】:

【参考方案4】:

如果您使用 CocoaPods,请检查您的 project.pbxproj 是否有 (null) 引用,有一个问题会使 BuildFile 引用变为 (null)

即使您正确定义了身份,它也可能是“空”的,因为this issue

按照建议尝试:

pod deintegrate
pod install

【讨论】:

【参考方案5】:

当 Xcode 项目生成(而不是从 xcode 中构建)并且生成的输出项目意外处于发布模式时,可能会发生此错误。

我在做一个 Godot 项目,遇到了上述错误,导致我写了这篇文章。该错误不是 WebRTC 或 Godot 特定的。

    如果您现在只想在设备上调试项目,并且还不需要发布版本,请使用方案切换器 (1) 切换到调试方案

    如果生成器没有创建调试方案(我的问题就是这种情况),您可以通过新方案 (2) 添加一个

    起初我无法弄清楚为什么它抱怨“空身份”(这是指Team 下拉菜单),根据屏幕截图我设置了这个值。我在 Debug 上设置了项目视图过滤器设置(根据屏幕截图 (3),因此没有显示发布设置(团队设置为“无”)。将其更改为 All 以查看 @错误中的 987654326@ 来自于你。

调试版本只需要基本的签名设置。如果您在发布版本时仍然遇到问题,您可能需要从派生数据、Apple 开发人员门户和钥匙串中清除证书和配置文件。

Release build certificates are hard to manage & replace 所以要小心随机生成和删除它们。

【讨论】:

【参考方案6】:

问题已经解决,是我的错。

选择目标,然后选择 info.plist 并为您的项目选择一个。

【讨论】:

以上是关于在 xcode 版本 10.2 中为产品类型“应用程序”签署二进制文件时,空标识无效的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 10.2 无法在 iOS < 10 的模拟器上运行应用程序

是否可以在 High Sierra (10.13.6) 上安装 Xcode 10.2?

将 xcode 升级到 10.2 版后面临 AFNetworking 错误

安装 Xcode 11 beta 并保留 Xcode 10.2 后 App Store 拒绝我的更新

Xcode 10.2

我可以在 Xcode 9.2 中为 iOS 12 开发应用程序吗?