可执行文件在Xcode中使用无效权利进行签名

当我尝试在我的设备上运行应用程序时,Xcode 5出现此错误。

该可执行文件被签署了无效的权利

它与Xcode 4.x很好地工作。 任何人都知道如何摆脱错误?

在这里输入图像说明

重新启动Xcode是我的工作。

我发现了这个问题。 我在developer.apple.com上创build的应用程序不包含应用程序间audio。 Xcode上的项目权利plist文件将inter-app-audio设置为YES(默认情况下)。 一旦我在developer.apple.com上更改了我的应用程序configuration上的设置以启用应用程序间audio。 然后我的应用程序在我的设备上运行 我想这是苹果的新规则,以使您的应用程序设置在developer.apple.com和您的xcode项目设置上保持一致。

我可以通过在Xcode 5中打开/closures“Game Center”权限来解决这个问题:-)

我认为你的问题在于你正在使用xCode4.6的configuration文件,现在你正在使用xCode5。

您需要通过XCode>首选项>帐户刷新证书/configuration文件

XCode>首选项>帐户>点击您的DEV帐户>查看详细信息button(右下angular)>签署Iden / PPs屏幕出现>点击刷新。

然后从构build设置中再次select正确的configuration文件并清理并构build您的项目。

希望这可以帮助你。

我在这个问题上花了一个小时,终于find了一个解决办法。 原来在ProjectTarget和ProjectTests中开发团队是不同的。

最新的Xcode解决scheme:

首先,您必须检查您的会员中心为您的特定AppID启用了哪些function:

在这里输入图像说明

然后在Xcode的适当目标中,您必须启用相同的function:在这种情况下: App GroupGame CenterIn-App Purchase所有这些都必须在Xcode中的目标中启用。

在这里输入图像说明

但是,对于DEBUG模式无关紧要:

在这里输入图像说明

这对您的RELEASE模式非常重要: 在这里输入图像说明

请注意, Game CenterIn-App Purchase默认情况下在会员中心启用,但在Xcode的目标中禁用。

我不得不在Xcode5下匹配应用程序的function

 Capabilities -> In-App purchase -> ON Game Center -> ON 

在提供的configuration文件。

xcode 6.1(HealthKit示例)

由于HealthKit集成,我得到了这个错误:我已经启用了应用程序内购买,游戏中心和Healkit解决了我的问题..我已经在configuration文件中启用了相同的。

在这里输入图像说明

在这里输入图像说明

(Xcode 6.1)

我的问题是在我的生成设置; 尝试将设备部署到设备时,我的Provisioning Profile设置为App Store Production Profile。 我把它切换到“自动”,它解决了我的问题。 您也可以将其设置为您的开发configuration文件。

我也有两个证书,所以我添加了我的第二个证书到我的开发规定。 其他人可能不会有这个问题。

没有解决scheme为我工作,直到我已经检查和设置应用程序testing目标为主应用程序相同的configuration文件。 或者如果您正在使用自动唱歌,请确保您在testing目标中select了相同的团队。

简单的清理和构build似乎为我解决了这个问题。

我通过删除project.pbxproj中的所有"PROVISIONING_PROFILE=...""PROVISIONING_PROFILE[sdk=iphoneos*]" = ...来解决这个问题,然后重新启动Xcode并为目标设置configuration文件。

如果重新启动xcode不起作用,请创build一个新的configuration文件,并确保包含您的testing设备。

这似乎是Xcode内的一个小错误。 尽pipe如此,还是要归档 ,即使entitlements有问题。 如果您的权利是好的,它将被上传没有任何问题。 苹果接受它,你的应用程序将被发布到AppStore。

我做到了,它的工作:)

在我的情况下,该设备没有被添加。 所以我不得不添加设备并生成新的configuration文件。

另一件事要检查 – 确保你有两个select正确的实体

目标 – >您的目标 – >生成设置 – >签名

项目 – >您的项目 – >生成设置 – >代码签名实体

当我有一个完整的开发者configuration文件被选中,而另一个(另一个不同的(开发者))苹果ID被选中时,我得到了这个消息,即使没有在应用程序中请求的权利。

我在XCode 5中遇到了同样的问题。无论如何,这帮助了我。

 XCode > Preferences > Location tab > DerivedData 

按一下左箭头在Finder中打开DerivedData。 移至您项目的垃圾文件夹并重build。

截图

有一些问题。 解决:去正确的目标 – >function – >对我来说,有“应用程序内购买”和button来解决它的问题。 固定的问题。

在我的情况下:我需要启用应用程序间audio

Capabilities -> Inter-App Audio

我想因为我使用Parse.com通知,它需要链接到AudioToolbox.framework

启用function – >应用程序间audio也为我解决了这个问题。 我也试图通过parsing发送推送通知

这里的答案似乎有点不足,所以我加了两分钱:

真正的解决scheme是,在您的configuration文件中存储的内容之间通常存在不匹配(请在developer.apple.com – > members – > certificates – >您正在使用的cert中检查(确保检查dev / production)以及在您的应用程序中启用了什么(双击项目名称),在水平菜单select'Capabilities(在“常规”旁边)下。

如果您最近更改了其中之一,请确保在XCode – >首选项 – >帐户 – >详细信息 – >刷新图标下刷新您的证书,然后重新启动XCode。

在我的情况下APNS证书已过期,删除过期的证书,并重新生成configuration文件修复了这个问题。

在我的情况下,我不得不接受苹果开发者许可协议。

login到苹果开发者帐户,并观察类似于下面的通知消息。

“苹果开发者计划许可协议已经更新,为了获取某些会员资源,****必须在2016年6月28日之前接受最新的许可协议。

此前,我无法添加/编辑iCloud容器的应用程序ID,虽然我改变/检查function,供应configuration文件,证书等合同协议后,事情开始顺利进行。

希望能省下一些宝贵的时间。

最近我遇到了完全相同的问题。 在阅读了许多不同的意见后,我终于find了问题的根源。

移动configuration文件实际上与Xcode生成的权利文件不匹配。

虽然所有文件都是由Apple工具自动启动的,但它们是不正确的。

如果您从Apple门户下载configuration文件并将其打开(您可以打开它,因为它只是由证书签名的plist文件,所以文本编辑器可读),并将其与您的权利文件(由Xcode自动生成并驻留在项目文件中)进行比较(所以它再次是文本编辑器可读的plist XML文件),然后你可以看到差异。

在我的情况下,这是游戏中心的权利。 它在门户网站上显示为已选中(默认选中),但实际上,此权利未包含在移动设置文件中。 所以这是从权利文件中删除它的问题。

因此,结果是 – 移动configuration文件的内容有时与APP IDconfiguration页面上显示的内容不匹配。

我面临同样的问题。 对于我来说,解决scheme是在步骤

  1. 我去开发人员帐户我上传推送证书在应用程序标识符。
  2. 重新生成configuration文件

结论:如果有服务启用但未configuration,则禁用或configuration该服务可能会解决问题

如果这里列出的其他好答案不适用于您,请尝试打开“钥匙串访问”,并删除所有用于代码签名的“主开发者”证书以外的所有“iPhone开发者…”证书 。 我发现我有几个被吊销的证书,还有其他队友的证书需要删除。

(Xcode 7.3.1)我只有一个设备,特别是这个问题。 对我来说固定的是从同事的电脑(成功)运行应用程序,之后,我不再在我的电脑上得到这个错误。

首先确保在构build之前select了正确的configurationconfiguration文件,如果您已经手动设置configurationconfiguration文件。 如果您已将自动设置为供应configuration文件,请确保Xcode在构build过程中正在提取正确的供应configuration文件。

上面所说的都是正确的,特别是BartłomiejSemańczyk:重新检查开发中心和项目中的权利设置。

我的Xcode 9 / iOS 11的两美分..

如果您在回购站中添加了新的NFC权利(仅适用于iOS11 / Xcode 9),那么您也有一个Xcode 8项目,Xcode 8将会失败。

因此,如果您使用具有相同基本代码(有条件编译)的多个项目共享相同的非代码文件,请务必区分不同Xcode版本之间的授权文件。

我在Xcode 8.3.2中遇到类似的错误。 在我的情况下,我发现从〜/ Library / MobileDevice / Provisioning Profiles中删除caching的configuration文件使得Xcode再次从Developer Portal下载正确的configuration文件,之后它首次运行。 希望这可以帮助别人!