可执行文件在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您的项目。
希望这可以帮助你。
最新的Xcode解决scheme:
首先,您必须检查您的会员中心为您的特定AppID启用了哪些function:
然后在Xcode的适当目标中,您必须启用相同的function:在这种情况下: App Group
, Game Center
, In-App Purchase
。 所有这些都必须在Xcode中的目标中启用。
但是,对于DEBUG模式无关紧要:
这对您的RELEASE模式非常重要:
请注意, Game Center
和In-App Purchase
默认情况下在会员中心启用,但在Xcode的目标中禁用。
我不得不在Xcode5下匹配应用程序的function
Capabilities -> In-App purchase -> ON Game Center -> ON
在提供的configuration文件。
xcode 6.1(HealthKit示例)
由于HealthKit集成,我得到了这个错误:我已经启用了应用程序内购买,游戏中心和Healkit解决了我的问题..我已经在configuration文件中启用了相同的。
(Xcode 6.1)
我的问题是在我的生成设置; 在尝试部署到设备时,我的供应configuration文件设置为App Store生产configuration文件。 我把它切换到“自动”,它解决了我的问题。 您也可以将其设置为您的开发configuration文件。
我也有两个证书,所以我把我的第二个证书添加到我的开发规定。 其他人可能不会有这个问题。
简单的清理和构build似乎为我解决了这个问题。
没有解决scheme为我工作,直到我已经检查和设置应用程序testing目标为主应用程序相同的configuration文件。 或者如果您正在使用自动唱歌,请确保您在“testing目标”中select了相同的团队。
我在这个问题上花了一个小时,终于find了一个解决办法。 原来在ProjectTarget和ProjectTests中开发团队是不同的。
我通过删除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 – >您正在使用的证书(请务必检查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是在步骤
- 我去开发人员帐户我上传推送证书在应用程序标识符。
- 重新生成configuration文件
结论:如果有服务启用,但没有configuration,则禁用或configuration该服务可能会解决问题
如果这里列出的其他好答案不适用于您,请尝试打开“钥匙串访问”并删除所有用于代码签名的“主开发者”证书以外的所有“iPhone开发者…”证书 。 我发现我有几个被吊销的证书,还有其他队友的证书需要删除。
(Xcode 7.3.1)我只有一个设备,特别是这个问题。 对我来说固定的是从同事的电脑(成功)运行应用程序,之后,我不再在我的电脑上得到这个错误。
首先确保在构build之前select了正确的configurationconfiguration文件,如果您已经手动设置configurationconfiguration文件。 如果您已将自动设置为供应configuration文件,请确保在构build过程中Xcode正在拾取正确的供应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文件,之后它首次运行。 希望这可以帮助别人!