我正在尝试从 google webrtc 源代码构建 AppRTCDemom 示例,我正在关注自述文件,但是在尝试了这个“gclient runhooks”之后,我得到了:
“key_id gyp 变量需要明确设置,因为有多个代码签名密钥,或者没有”
有人可以说发生了什么吗?这里缺少什么?
tks
我正在尝试从 google webrtc 源代码构建 AppRTCDemom 示例,我正在关注自述文件,但是在尝试了这个“gclient runhooks”之后,我得到了:
“key_id gyp 变量需要明确设置,因为有多个代码签名密钥,或者没有”
有人可以说发生了什么吗?这里缺少什么?
tks
Gp-coder 的解决方案对我来说只是解决问题的一半。在做出他推荐的更改后,我在另一个文件中遇到了另一个类似的错误:
AssertionError:身份的多个代码签名身份:iPhone Developer
此断言发生在以下文件中:
webrtc/trunk/tools/gyp/pylib/gyp/xcode_emulation.py
奇怪的是,断言之后的行将采用列表中的第一个代码签名身份,因此解决方案就像在第 793 行注释掉断言一样简单。假设您实际上想要第一个代码签名身份。如果不是,请将第 796 行的结果数组上使用的索引更改为您需要的任何索引。
我最终写了一篇博客文章,其中包含这些更改以及使完整构建工作所需的其他一些更改。
问题是您是否拥有多个 iOS 开发者密钥。在 libjingle_examples.gyp 文件的第 271 行中,有问题的行上方有此注释。
# Total HACK to give a more informative message when multiple
# codesigning keys are present in the default keychain. Ideally
# we could pick more intelligently among the keys, but as a
# first cut just tell the developer to specify a key identity
# explicitly.
'key_id%': (security find-identity -p codesigning -v | grep "iPhone Developer" | awk \'{print $2}\')
直接运行命令时:
security find-identity -p codesigning -v | grep "iPhone Developer" | awk '{print $2}'
555XXXX6DA325E6097E5301381XXXXXXD35D620E
315XXXX6B19AD10A0F4567XXXX03B1BXXXXXXXXX
它列出了两个开发者 ID,这是问题所在,所以我编辑了 libjingle_examples.gyp 第 271 行并添加| head -1
了让它只返回 1 个键,在这种情况下是顶部或第一个键。我还仔细检查了 Xcode 以确保最上面的键是我当前的键。
过去几个月我一直在这个领域工作,iOS 上的 webrtc 并不容易。为了解决这个问题,我添加了一个 github repo,其中包含一个使用 webrtc 的 iOS 应用程序的工作示例。
https://github.com/gandg/webrtc-ios
该站点也引用了 google 代码站点,因此它应该是一个有用的起点。