【问题标题】:The executable was signed with invalid entitlements 0xe8008016 - Distribution certificate可执行文件的签名无效权利 0xe8008016 - 分发证书
【发布时间】:2016-08-29 11:19:50
【问题描述】:

我收到错误:

The executable was signed with invalid entitlements.
The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. (0xE8008016).

DISTRIBUTION CERTIFICATE & PROVISIONING 个人资料上。早些时候,我能够使用分发配置文件安装构建,但是,现在我无法这样做。它给出了上述错误。

以下是我的元素内容:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>keychain-access-groups</key>

<array>

<string>$(AppIdentifierPrefix)com.myapp.xyz</string>

</array>

</dict>

</plist>

我在我的 appid 中启用了PushNotification

从过去的 2-3 天开始,我在 stackoverflow 上浏览了很多这样的帖子,并尝试了各种解决方案。但它们都没有奏效。 我已经解决的问题,

  1. 创建了一个新的证书和配置文件
  2. 从钥匙串中删除旧证书并安装新证书
  3. 从系统中删除旧配置文件并安装新配置文件(通过Xcode-&gt;Preferences-&gt;account-&gt;view Details-&gt; download all 手动和自动)
  4. Restareted XCode 多次删除证书后添加新证书
  5. 清理并构建项目
  6. 已清除派生数据
  7. 保持自动配置配置文件(但它使用开发人员配置配置文件构建,不知道为什么)

根据错误,我已将我的配置文件应用程序服务(根据我在开发人员门户中的 appID)与XCode 中的构建功能相匹配。但它不起作用。 .entitlements 文件是否与“构建功能”有任何关系?我尝试删除 .entitlementonce 但没有运气。

更新: 我创建了一个新项目,新的 appID(默认启用。应用内和游戏中心)和新的分发配置文件。仍然给出同样的错误。 :(

UPADTE 2:添加keychain的图片

【问题讨论】:

  • 你能看看这个。它可能会帮助你。 developer.apple.com/library/ios/technotes/tn2415/_index.html
  • 感谢 Ramesh_T。对此进行调查。
  • 提供的链接解决了您的问题吗?
  • 不,我刚刚创建了新的 appID(仅用于测试。默认情况下仅启用游戏中心和应用内购买)和使用我的新 appID 的新分发配置文件。在项目中使用了该 appId 和配置文件。删除了构建设置中的旧权利文件和路径。也重新启动了系统。但仍然同样的错误。我不确定,但这可能是证书问题吗?
  • 你检查过 WWDR 证书是新的吗?

标签: ios xcode provisioning-profile code-signing-entitlements


【解决方案1】:

查看测试目标,团队在测试目标和主目标上应该是相同的。

【讨论】:

  • 太棒了,与许多其他帖子不同,这个答案实际上解决了我的问题。我正在使用不同的团队。在两个目标上使用相同的修复它。非常感谢,米西!
  • 我搜索了 3 个小时以找到解决问题的方法,就是这样。天哪。
  • 你是国王!
  • 我在主要目标中使用手动唱歌,而测试目标使用自动。 在同一团队将两个目标设置为自动后,它再次工作,谢谢。 ?
  • 你拯救了我的一天
【解决方案2】:

问题是由于分发配置文件尝试使用开发或临时配置,希望它的工作,祝你好运

【讨论】:

  • 是的,开发配置工作正常。但是,我想使用分发配置文件构建
【解决方案3】:

就我而言,在构建之前,我在 Info.plist 中添加了一个密钥 ITSAppUsesNonExemptEncryption,它可能未包含在配置文件中。从Info.plist 中删除ITSAppUsesNonExemptEncryption 后,我能够成功构建。

【讨论】:

    【解决方案4】:

    我遇到了这个问题,这是由于 TestFlight 中的现有构建到期,因此在进行任何进一步调查之前,值得检查您安装的构建是否过期。

    【讨论】:

      猜你喜欢
      • 2019-03-21
      • 1970-01-01
      • 1970-01-01
      • 2012-09-28
      • 2017-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多