Xcode中的可执行文件使用无效的授权签名

120

当我尝试在我的设备上运行应用程序时,使用Xcode出现了以下错误:

可执行文件签名的授权无效

使用旧版Xcode时没有问题。有人知道如何解决这个错误吗?

enter image description here


我有Xcode 8.3.3,这个答案对我非常有用: https://dev59.com/F1oU5IYBdhLWcg3w35kM#40464055 - Nuno MSB
检查您的配置文件是否为发布构建的Adhoc或App Store配置文件。 - Ankit J
41个回答

114

我与这个问题纠缠了一个小时,最终找到了解决方法。原来在ProjectTarget和ProjectTests中的开发团队不同。


我在哪里可以找到ProjectTarget和ProjectTests? - Pablo
啊!找到了!我花了好几天时间,原来只是这个设置问题?? - Pablo
@Pablo 你在哪里找到它? - Roi
@Roi 我想它在这里:https://dev59.com/fGIk5IYBdhLWcg3wG6zb#55466625 - Pablo

80

重启 Xcode 对我有用


17
所以Xcode采用了Microsoft的通用修复方案。 ;) 值得一提的是,这仍然是一个问题,重启仍然是解决方法(我正在使用v7.3.1)。 - Eric Soyke
3
再加1,再次遇到这个问题,然后谷歌搜索,我就来到了这里。 - jayellos
有没有人对这个问题有一个可靠的解决方案!!!所有这些解决方案看起来都像是一些特定情况的权宜之计。请帮忙。 - Max
将项目开发团队和项目测试开发团队合并,对我来说效果很好。 - Tahmid Rahman
XCode 9.2:事实证明,这个“修复”仍由苹果维护 :) 换句话说,这个问题和这个答案仍然像以前一样相关。 - Oren S
显示剩余2条评论

37

我找出了问题所在。我在developer.apple.com上创建的应用程序不包括inter-app-audio。在Xcode中的项目entitlements plist文件中,inter-app-audio设置为YES(默认值)。一旦我更改了在developer.apple.com上我的应用程序配置中启用inter-app-audio的设置,则我的应用程序可以在我的设备上运行。我猜这是苹果的新规则,要求您的应用程序设置在developer.apple.com和您的xcode项目设置上保持一致。


10
我把应用之间音频功能切换了一下,先开启再关闭,这样应用就能正常工作了... 好神奇? - Ferran Maylinch
哇,难以置信。虽然对我来说是应用组功能的问题,但这个修复方法仍然适用。 - Keller
一样!这太奇怪了。我猜你可以切换任何功能来修复它。 - Andre Simon
尝试了所有方法,仍然面临同样的问题!有什么建议吗? - Max
这是我缺失的另一个权限。它在LOC.entitlements文件中。 - HartWoom

24

我能够通过在Xcode 5中开关“Game Center”授权来解决这个问题 :-)


5
谢谢!您不知道今早我有多沮丧,直到我偶然看到了您的答案。这绝对为我解决了问题。 - Gasper
1
请注意,Xcode将为您生成一个配置文件,并使您自定义创建的配置文件失效。 - Van Du Tran
@VanDuTran 不会的。 - Nik
这在 Xamarin 应用程序中发生,也发生在 Visual Studio for Mac 中。因此,它不仅仅局限于 Xcode。 - Dan Beaulieu

19

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


非常好的观点,当您在主目标中更改团队但未在测试目标中更改时,就会发生这种情况。将测试目标中的团队更改为主目标中的团队,解决了我的问题。 - dan
谢谢!这最终解决了我的问题。权限是一个完全的误导。 - Reid

19

1
想要为 Cordova/Ionic 用户添加一条提示,您可能还需要更改生成的 Xcode 项目以使用传统模式,方法是通过“文件 > 项目/工作区设置”并将其更改为传统构建系统,详见此处:https://dev59.com/bV0Z5IYBdhLWcg3w3Dfk#52605878。 - Vyrnach

12
Xcode的最新解决方案:
首先,您需要检查在成员中心中为特定的AppID启用了什么:
然后,在Xcode的相应目标中,您需要启用相同的功能:在这种情况下:App GroupGame CenterIn-App Purchase。在Xcode的目标中,所有这些都必须启用。
但是,对于DEBUG模式并不重要:
对于RELEASE模式非常重要:
请注意,在成员中心中默认启用Game CenterIn-App Purchase,但在Xcode的目标中被禁用。

3
能否在开发者苹果网站上移除游戏中心和应用内购买? - Noitidart

12

我认为你的问题在于你之前使用的是xCode4.6,现在你正在使用xCode5。

你需要通过XCode > 首选项 > 账户来刷新证书/配置文件。

XCode > 首选项 > 账户 > 点击你的DEV ACCOUNT > 查看详情按钮(右下角)> 签名标识/PPs屏幕出现 > 点击刷新。

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

希望这能够帮助你。


1
谢谢你的帮助。我找到了问题所在。我在developer.apple.com上创建的应用程序不包括inter-app-audio。Xcode上的项目entitlements plist文件默认设置为启用inter-app-audio。一旦我在developer.apple.com上更改了我的应用程序配置以启用inter-app-audio,那么我的应用程序就可以在我的设备上运行了。我想这是苹果公司的新规则,要求您在developer.apple.com和xcode项目设置中使您的应用程序设置保持一致。 - Emmy

6

我需要在Xcode5中匹配应用程序的功能。

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

使用该预配文件进行配置。


同时,它还解决了APNs的“无效令牌”错误响应。 - hiroshi
添加游戏中心权限并将其移除,对我也起到了作用。不知道为什么。 - Rukshan

5

xcode 6.1 (健康包示例)

由于 HealthKit 的集成,我遇到了这个错误: 我已经在 Provision 文件中启用了应用内购买、游戏中心和 HealKit 来解决我的问题。

enter image description here

enter image description here


不得不为钥匙串共享做同样的事情。我还有一个应用程序扩展,我必须在两个地方都这样做才能使它工作。 - CaseyB

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接