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

问题描述 投票:95回答:35

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

可执行文件使用无效授权进行签名

它与Xcode 4.x一起运行良好。谁知道如何摆脱错误?

ios xcode code-signing provisioning-profile
35个回答
75
投票

重启Xcode对我有用。


5
投票

xcode 6.1(HealthKit样本)

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


4
投票

(Xcode 6.1)

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

我还有2个证书,所以我将第二个证书添加到我的开发条款中。其他人可能不会有这个问题。


4
投票

简单的清洁和构建似乎为我修复它。


4
投票

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


2
投票

我通过删除project.pbxproj中的所有Capabilities -> In-App purchase -> ON Game Center -> ON "PROVISIONING_PROFILE=..."来解决这个问题,并重新启动Xcode并再次为目标设置配置文件。


2
投票

如果重新启动xcode不起作用,请创建新的配置文件,并确保包含您的测试设备。


2
投票

它似乎是Xcode中的一个小错误。无论如何都要尝试存档,即使"PROVISIONING_PROFILE[sdk=iphoneos*]" = ...存在问题。如果您的权利没有问题,将会毫无问题地上传。 Apple接受它,您的应用程序将发布到AppStore。

我做到了,它有效:)


2
投票

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


2
投票

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

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

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

当我在另一个中选择完整的开发配置文件并在另一个中选择了另一个(非开发者)Apple ID时,即使没有在应用程序中请求的权利,我收到此消息。


1
投票

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

entitlements

按一个小左箭头在Finder中打开DerivedData。移动到项目的垃圾文件夹并重建。


72
投票

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


1
投票

有一些问题。解决:转到正确的目标 - >功能 - >对我来说,存在“应用程序内购买”问题和修复它的按钮。关闭操作修复问题。


1
投票

在我的情况下:我需要启用Inter-App Audio in

XCode > Preferences > Location tab > DerivedData

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


1
投票

启用功能 - > Inter-App Audio也为我解决了这个问题。我也试图通过解析发送推送通知


1
投票

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

真正的解决方案是,配置文件中存储的内容通常不匹配(请查看developer.apple.com - >成员 - >证书 - >您正在使用的证书[确保检查dev / production)以及在您的应用程序中启用的内容(双击项目名称),在水平菜单下选择'功能'(在'常规'旁边)。

如果您最近更改了其中一个,请务必在XCode - >首选项 - >帐户 - >详细信息 - >刷新图标下刷新您的证书并重新启动XCode。


1
投票

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


1
投票

在我的案例中,我不得不接受Apple开发者许可协议。

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

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

早些时候,虽然我更改/检查了功能,配置文件,证书等,但我无法将iCloud容器添加/编辑到App ID。在同意合同后,事情开始顺利进行。

希望它可以节省一些宝贵的时间。


1
投票

我最近遇到了完全相同的问题。在阅读了许多不适合我的建议之后,我终于深入了解了问题的根本原因。

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

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

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

就我而言,它是游戏中心的权利。它在门户上显示为已选中(默认情况下已选中),但实际上此权利未包含在移动配置文件中。所以从Entitlements文件中删除它是件事。

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


1
投票

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

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

就我而言,我不得不暂时使用带有调试版本的iCloud生产容器。为此,我插入了

Capabilities ->  Inter-App Audio

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

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

这打破了通信,并创造了错误。


1
投票

如果这个问题和我一样。你可能会忘记在你的目标项目中进行单元测试的团队尝试这张照片

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


1
投票

这也可能是因为错误的计划。


34
投票

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


0
投票

我遇到了同样的问题。对我来说,解决方案是以下步骤

  1. 我上了开发者帐户,我在App Identifier中上传了推送证书。
  2. 重新生成配置文件

结论:如果启用了任何服务但未配置,则禁用或配置该服务可能会解决问题


22
投票

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


15
投票

对于XCode 10,可能需要使用遗留构建系统

可以从文件/项目设置进行更改。 ERROR ITMS-90174: "Missing Provisioning Profile - iOS Apps must contain a provisioning profile in a file named embedded.mobileprovision."

Cordova /离子公告:qazxsw poi


14
投票

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


11
投票

最新Xcode的解决方案:

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

然后在Xcode的适当目标中,您必须启用相同的功能:在这种情况下:https://github.com/apache/cordova-ios/issues/407App GroupGame Center。所有这些都必须在Xcode中的目标中启用。

但是DEBUG模式无关紧要:

这对你的RELEASE模式非常重要:

请注意,成员中心默认启用In-App PurchaseGame Center,但在Xcode的目标中禁用。


10
投票

我认为您的问题在于您使用xCode 4.6的配置文件,现在您正在使用xCode 5。

您需要通过XCode> Preferences> Accounts刷新certs / prov配置文件

XCode>首选项>帐户>单击您的DEV帐户>查看详细信息按钮(右下方)>出现登录Iden / PPs屏幕>点击刷新。

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

希望这对你有所帮助。


6
投票

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

In-App Purchase

在配置文件中使用它。

© www.soinside.com 2019 - 2024. All rights reserved.