使用相同的证书签名但错误:嵌入式二进制文件未使用相同的证书进行签名

时间:2015-05-18 19:40:50

标签: ios apple-watch

嵌入式二进制文件和父应用程序具有相同的证书,但我收到错误消息: 错误:嵌入式二进制文件未使用与父应用程序相同的证书进行签名。验证嵌入式二进制目标的代码签名设置是否与父应用程序匹配。

enter image description here

enter image description here

4 个答案:

答案 0 :(得分:5)

这只是Xcode让你发疯,所有你需要做的就是

  1. 转到Preferences->Accounts(Command +,)
  2. 删除导致问题的AppleID
  3. 使用相同的AppleID
  4. 再次登录

    享受:D

答案 1 :(得分:2)

这个问题可能源自多种原因。想添加另一个合理的检查,帮助我。 确保您签署的证书没有“始终信任”(如果设置如此,您将看到绿色' +'符号)。

  1. 转到密钥链访问,双击您正在使用的证书。
  2. 扩展'信任'下拉并更改/设置为' 使用系统默认值'来自'永远信任'。
  3. 如果您在项目中使用Swift作为“始终信任”,那么尤其如此。设置打破了相关的Swift库。

答案 2 :(得分:1)

1)您必须访问developer.apple.com门户网站

2)声明两个新的应用ID,com.organisation.appname.watchkitextension 和一个com.organisation.appname.watchapp

3)然后为这两个app Ids添加两个新的Provisioning配置文件..

警告! :您必须选择与父App相同的证书,如果您有疑问,我建议您重新创建此证书...

4)在构建设置中,对于所有目标,您必须找到正确的配置文件......

希望这有帮助。

答案 3 :(得分:1)

这对我有用,我不明白为什么但它适用于2个键盘扩展:

转到构建设置

  1. 将项目代码签名设置为分发
  2. 将目标包装器代码签名设置为开发人员
  3. 将扩展程序设置为代码签名开发人员
  4. 我尝试了很多建议,包括新的配置文件,新的证书,新的App ID,干净的构建,删除派生数据,重启,重置等等,但这是唯一一个对我有用的建议,即使它是父代和嵌入式应用程序的代码签名绝对不一样。