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


113

尝试在设备上运行应用程序时,我在Xcode 5中遇到此错误。

可执行文件已使用无效的权利进行了签名

在Xcode 4.x上运行良好。有人知道如何消除错误吗?

在此处输入图片说明


我有Xcode 8.3.3,这个答案实际上对我
有用

Answers:


101

我解决了这个问题一个小时,终于找到了解决方法。事实证明,开发团队在ProjectTarget和ProjectTests中有所不同。


13
非常感谢!这只是帮助了我,节省了很多时间!
Marky

哇!感谢@Krish
Kqtr

您的长官,刚刚保存了我的星期四,我感激不尽
Samer Murad

在哪里可以找到ProjectTarget和ProjectTests?
Pablo

啊!找到了!天,这不仅仅是这个设置!
Pablo

77

重新启动Xcode对我有用


15
因此Xcode采用了Microsoft通用修复程序。;)记录下来,这仍然是一个问题,重新启动仍然是修复问题(我使用的是v7.3.1)。
埃里克·索克

3
另一个+1,再次面对这个问题,然后用google搜索,我降落在这里。
jayellos

经过数小时的检查,每个细节……在XCode 8中
起作用

是否有人对这个问题有一个可靠的解决方案!!!!,所有这些解决方案似乎都是一些情况下的解决方法。请帮忙。
最多

实际上使项目开发团队和项目测试开发团队一样对我
有用

35

我发现了问题。我在developer.apple.com上创建的应用程序不包含应用程序间音频。Xcode上的项目授权plist文件的应用程序内部音频设置为YES(默认情况下)。一旦更改了我在developer.apple.com上的应用程序配置上的设置以启用应用程序间音频。然后,我的应用程序将在我的设备上运行。我想这是Apple的新规则,可让您的应用程序设置在developer.apple.com和xcode项目设置上保持一致。


10
我将“应用间音频”功能切换为“开”,然后又切换为“关闭”,这样应用程序就可以工作了……WT *?
Ferran Maylinch 2014年

哇,真令人难以置信。仍然是适用的修复程序,尽管对我而言,这是应用程序组功能。
凯勒2015年

同样在这里!太奇怪了 我想您可以切换任何功能来修复它。
安德烈·西蒙

尝试了一切仍然面临着同样的问题!,任何建议
Max

24

我可以通过切换Xcode 5中的“游戏中心”授权来解决此问题:-)


5
谢谢!您不知道我整个上午都感到多么沮丧,直到我迷失了答案。绝对为我修复。
加斯珀·科伦茨

1
请注意,Xcode会为您生成一个配置文件,并使您的自定义创建配置文件无效。
Van Du Tran

@VanDuTran不,不会。
Nik

这也发生在Xamarin应用程序中,也发生在Visual Studio for Mac中。因此,它不仅限于Xcode。
Dan Beaulieu

19

在我检查并将应用程序测试目标设置为与主应用程序相同的配置文件之前,没有解决方案对我有用。或者,如果您正在使用自动唱歌,请确保在“测试”目标中选择了相同的团队。


很好,当您在主要目标而不是测试目标中更改团队时,就会发生这种情况。将测试目标中的团队更改为主要目标中的团队,为我解决了这个问题。

谢谢!!这就是最终为我解决的问题。权利完全是鲱鱼。
Reid

19

对于XCode 10,可能需要使用旧版构建系统

可以从文件/项目设置中进行更改。错误ITMS-90174:“缺少配置文件-iOS应用程序必须在名为Embedded.mobileprovision的文件中包含一个配置文件。”

科尔多瓦/离子通告:https : //github.com/apache/cordova-ios/issues/407


1
想要为Cordova / Ionic用户添加,您可能还需要通过“文件>项目/工作区设置”将生成的Xcode项目更改为使用旧版模式​​,然后将其更改为“旧版构建系统”,如下所示:stackoverflow.com/a / 52605878/2503520
维纳赫

12

最新Xcode的解决方案

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

在此处输入图片说明

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

在此处输入图片说明

但是,对于DEBUG模式而言并不重要:

在此处输入图片说明

这对于您的发布模式非常重要: 在此处输入图片说明

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


3
是否可以从developer.apple.com删除游戏中心和应用内购买?
Noitidart

11

我认为您的问题出在哪里,因为您使用的是xCode4.6,而现在使用的是xCode5。

您需要通过XCode>“偏好设置”>“帐户”刷新证书/配置文件

XCode>首选项>帐户>单击您的DEV ACCOUNT>“查看详细信息”按钮(右下)>“签名Iden / PPs”屏幕出现>单击刷新。

然后从构建设置中再次选择正确的配置文件,然后清理并构建您的项目。

希望对您有帮助。


1
谢谢你的帮助。我发现了问题。我在developer.apple.com上创建的应用程序不包含应用程序间音频。Xcode上的项目授权plist文件的应用程序内部音频设置为YES(默认情况下)。一旦更改了我在developer.apple.com上的应用程序配置上的设置以启用应用程序间音频。然后,我的应用程序将在我的设备上运行。我想这是Apple的新规则,可让您的应用程序设置在developer.apple.com和xcode项目设置上保持一致。
艾美奖

6

我必须在Xcode5下匹配应用程序的功能

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

并在提供个人资料中


它还解决了APN的“无效令牌”错误响应。
hiroshi 2014年

添加游戏中心权利并将其删除,这对我也很有效。不知道为什么。
Rukshan Marapana 2014年

5

xcode 6.1(HealthKit示例)

由于HealthKit集成,我遇到了此错误:我启用了应用内购买,Game Center和Healkit解决了我的问题。

在此处输入图片说明

在此处输入图片说明


钥匙串共享也必须这样做。我也有一个应用程序扩展,我必须在两个地方都做才能使其工作。
CaseyB 2014年

5

(Xcode 6.1)

对我来说,问题出在我的构建设置中;尝试部署到设备时,我已将“供应配置文件”设置为“ App Store生产配置文件”。我将其切换为“自动”,它解决了我的问题。您也可以将其设置为您的Dev Provision Profile。

我也有2个证书,因此我在我的开发人员条款中添加了第二个证书。其他人可能不会有这个问题。


谢谢!将其切换为“自动”对我
有用

奇怪的是,更改为自动修复了它,但是对我有用。我将自己的配置文件设置为com.mycompany。*,并收到此错误。在“功能”选项卡下有红色的FixMe,但是修复了这些问题后,我仍然收到无效的权利错误。然后,我尝试将配置文件从com.mycompany。*更改为自动,并解决了该问题。我仔细检查了bundleID是com.mycompany.blabla,所以似乎是某种Xcode错误。我正在使用Xcode 6.3.2。
吉姆·

5

当我更新到Xcode 10时遇到了类似的问题,我解决了“文件”>“项目设置”的问题,在“新构建系统”选项中选择“旧版构建系统”。这对我来说是个窍门,希望对您有所帮助。



4

如果这个问题与我相同。您可能会忘记在目标项目中的单元测试中设置团队,请尝试执行此操作

在此处输入图片说明


3

我通过在project.pbxproj中删除all "PROVISIONING_PROFILE=...""PROVISIONING_PROFILE[sdk=iphoneos*]" = ...来解决此问题,然后重新启动Xcode并再次为目标设置配置文件。


3

如果无法重新启动xcode,请创建一个新的配置文件,并确保包括您的测试设备。


重新启动/清理对我来说不起作用,但是后来我意识到我没有将新的测试电话添加到我用来创建的临时配置文件中。我重新生成/下载了更新的配置文件,错误消失了。注意:执行此操作后,您可能会收到“安全”错误,这意味着设备需要您对应用进行授权,只需点按设备上的应用即可激活“信任开发者”警报。
SafeFastExpressive


3

另一件事要检查-确保您在两个实体中选择了正确的实体

目标->目标->构建设置->签名

项目->您的项目->构建设置->代码签名实体

当我选择了一个完整的开发者资料,而另一个选择了一个(非开发者)Apple ID时,即使没有在应用程序中请求任何权利,我也会收到此消息。


2

这似乎是Xcode中的一个小错误。无论如何,尝试将其存档,即使出现问题entitlements。如果您的权利不错,那么它将被顺利上传。Apple接受它,您的应用程序将发布到AppStore。

我做到了,它奏效了:)



1

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

XCode > Preferences > Location tab > DerivedData

按向左的小箭头在Finder中打开DerivedData。移至项目的废纸folder文件夹并重建。

屏幕截图


我想应该有适当的理由说明为什么删除派生数据可以解决该问题。
卡维塔


1

就我而言:我需要启用以下功能:

Capabilities -> Inter-App Audio

我认为是因为我使用Parse.com Notification,所以需要链接到AudioToolbox.framework


1

启用功能->应用间音频也为我解决了此问题。我也在尝试通过解析发送推送通知


1

这里的答案似乎不足,因此我加了两分钱:

真正的解决方案是,您的配置文件中存储的内容通常不匹配(请在developer.apple.com->成员->证书->您正在使用的证书中进行检查[请务必检查开发/生产情况)以及在应用中启用的功能(双击项目名称),在水平菜单下选择“功能”(“常规”旁边)。

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


1

在我的情况下,APNS证书已过期,请删除过期的证书,然后重新生成配置文件即可解决此问题。


1

就我而言,我必须接受Apple开发者许可协议。

登录到Apple开发者帐户,并观察类似于以下的通知消息。

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

早些时候,尽管我更改/检查了功能,供应配置文件,证书等,但是我无法将iCloud容器添加/编辑到App ID中。在与合同达成协议后,事情开始顺利进行。

希望它可以节省某人的宝贵时间。


1

我最近遇到了完全相同的问题。在阅读了许多对我没有帮助的不同建议之后,我终于了解了所有问题的根本原因。

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

尽管Apple工具会自动老化所有文件,但它们是不正确的。

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

就我而言,这是Game Center的权利。它已在门户上显示为选中状态(默认选中),但实际上此权利未包含在移动配置文件中。因此,可以从“权利”文件中删除它。

因此,结果是-移动供应配置文件的内容有时与APP ID配置页面上显示的内容不匹配。


1

对于那些与Provisioning Profile Automatic有相同问题的人目标“构建设置”中的“:

在编辑目标授权文件时要非常小心!这可能会中断与自动生成的配置文件的对应关系,您将收到此错误。

就我而言,我不得不临时将iCloud生产容器与调试版本一起使用。为此,我插入了

<key>com.apple.developer.icloud-container-environment</key>
<string>Production</string>  

在权利文件中,这有效!
为了提醒我以后必须删除这些行,我进一步插入了以下注释:

<key>TODO</key>
<string>The entry below must be out commented or deleted to use the iCloud development environment.</string>  

这打破了信件,并创建了错误


权利文件位于哪里?
Noitidart

它在您的项目文件夹中,称为“ yourProject.entitlements”。您可以在Xcode的项目导航器中找到它。
ReinhardMänner'18年

谢谢。似乎直到我选中然后取消选中“内部应用程序音频”后才创建。我有游戏中心,并在developer.apple.com上购买了应用程序,但我不使用它,这是默认设置。因此,我在xcode中将自己的功能标记为“ on”,但是无论我得到什么,“可执行文件都使用无效的权利进行了签名”。错误。:(
Noitidart

1

我在应用程序中使用了推送通知,开发完成后,我尝试测试发布配置的推送通知。当时我得到了这个错误。

我正在使用Production Provisioning Profile运行发布。因此,我能够通过使用Adhoc Provisioning Profile 解决此错误。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.