当我尝试在我的设备上运行该应用程序时,我收到了 Xcode 的此错误。
可执行文件的签名无效
它适用于旧 Xcode 任何人都知道如何摆脱错误?
当我尝试在我的设备上运行该应用程序时,我收到了 Xcode 的此错误。
可执行文件的签名无效
它适用于旧 Xcode 任何人都知道如何摆脱错误?
我为这个问题苦苦挣扎了一个小时,终于找到了解决办法。原来开发团队在 ProjectTarget 和 ProjectTests 中是不同的。
重新启动 Xcode对我有用
我发现了问题。我在 developer.apple.com 上创建的应用不包括应用间音频。Xcode 上的项目权利 plist 文件已将 inter-app-audio 设置为 YES(默认情况下)。一旦我在 developer.apple.com 上更改了我的应用配置设置以启用应用间音频。然后我的应用程序在我的设备上运行。我想这是苹果的新规则,使您的应用程序设置在 developer.apple.com 和您的 xcode 项目设置上保持一致。
我可以通过在 Xcode 5 中打开/关闭“游戏中心”权利来解决这个问题 :-)
在我检查并将应用程序测试目标设置为与主应用程序相同的配置文件之前,没有任何解决方案对我有用。或者,如果您使用自动唱歌,请确保您在测试目标中选择了相同的团队。
对于 XCode 10,可能需要使用旧版构建系统
可以从文件/项目设置进行更改。错误 ITMS-90174:“缺少配置文件 - iOS 应用程序必须在名为 embedded.mobileprovision 的文件中包含配置文件。”
我认为您的问题在于您使用 xCode4.6 的配置文件,而现在您使用的是 xCode5。
您需要通过 XCode > Preferences > Accounts 刷新证书/配置文件
XCode > Preferences > Accounts > 单击您的 DEV ACCOUNT > View Details 按钮(右下角)> Signing Iden/PPs 屏幕出现 > 点击 Refresh。
然后再次从构建设置中选择正确的配置文件并清理并构建您的项目。
希望这对您有所帮助。
最新Xcode的解决方案:
首先,您必须检查您的会员中心为您的特定AppID启用了什么:
然后在 Xcode 中的适当目标中,您必须启用相同的功能:在这种情况下:App Group
, Game Center
, In-App Purchase
. 所有这些都必须在 Xcode 的目标中启用。
但是,对于DEBUG模式并不重要:
这对您的RELEASE模式 非常重要:
注意Game Center
和In-App Purchase
默认在会员中心启用,但在 Xcode 的目标中禁用。
我必须在 Xcode5 下匹配应用程序的功能
Capabilities ->
In-App purchase -> ON
Game Center -> ON
在配置文件中。
(Xcode 6.1)
对我来说,问题出在我的构建设置中;在尝试部署到设备时,我将我的 Provisioning Profile 设置为 App Store Production Profile。我将其切换为“自动”,它解决了我的问题。您也可以将其设置为您的 Dev Provision Profile。
我也有 2 个证书,所以我将我的第二个证书添加到我的开发配置中。其他人可能不会有这个问题。
xcode 6.1(HealthKit 示例)
由于 HealthKit 集成,我收到此错误:我启用了应用内购买、游戏中心和 Healkit 解决了我的问题。我在 Provision 配置文件中启用了相同的功能。
当我更新到 Xcode 10 时,我遇到了类似的问题,我解决了问题,转到 File > Project Setting,在“New Build System”选项中选择“Legacy Build System”。这对我来说是个窍门,我希望这对某人有所帮助。
简单的清理和构建似乎为我解决了这个问题。
如果重新启动 xcode 不起作用,请创建新的配置文件并确保包含您的测试设备。
我通过删除project.pbxproj"PROVISIONING_PROFILE=..."
中的所有和"PROVISIONING_PROFILE[sdk=iphoneos*]" = ...
来解决这个问题,然后重新启动 Xcode 并再次为目标设置配置文件。
就我而言,没有添加该设备。所以我不得不添加设备并生成一个新的配置文件。
要检查的另一件事-确保您在两者中都选择了正确的实体
目标 -> 你的目标 -> 构建设置 -> 签名
和
项目 -> 您的项目 -> 构建设置 -> 代码签名实体
当我在一个中选择了完整的开发人员配置文件并在另一个中选择了不同的(非开发人员)Apple ID 时,我收到了此消息,即使应用程序中没有请求任何权利。
这似乎是 Xcode 内部的一个小错误。无论如何都要尝试归档它,即使entitlements
. 如果您的权利很好,它将毫无问题地上传。Apple 接受它,您的应用程序将发布到 AppStore。
我做到了,它奏效了:)
这也可能是由于运行了错误的方案。
我在 XCode 5 中遇到了同样的问题。无论如何这对我有帮助。
XCode > Preferences > Location tab > DerivedData
按一点左箭头在 Finder 中打开 DerivedData。移动到项目的垃圾文件夹并重建。
Enable Capabilities -> Inter-App Audio 也为我解决了这个问题。我也在尝试通过解析发送推送通知
出了点问题。解决:转到正确的目标-> 功能-> 对我来说,“应用内购买”和修复它的按钮存在问题。关开操作固定问题。
就我而言:我需要在
Capabilities -> Inter-App Audio
我认为因为我使用 Parse.com 通知,它需要链接到 AudioToolbox.framework
我最近遇到了完全相同的问题。在阅读了许多对我都不起作用的不同建议之后,我终于深入了解了问题的根源。
移动配置文件实际上与 Xcode 生成的权利文件不匹配。
尽管所有文件都由 Apple 工具自动老化,但它们并不正确。
如果您从 Apple 门户下载配置文件并打开它(您可以打开它,因为它只是由您的证书签名的 plist 文件,因此它可以被文本编辑器读取)并将其与您的权利文件(由 Xcode 自动生成并驻留在项目文件中)进行比较(所以它又是文本编辑器可读的 plist XML 文件)。然后你可以看到区别。
就我而言,这是游戏中心的权利。它在门户上显示为选中(默认选中),但实际上此权利并未包含在移动配置文件中。所以这是从权利文件中删除它的问题。
所以结果是 - 移动配置文件的内容有时与 APP ID 配置页面上显示的内容不匹配。
这里的答案似乎有点不足,所以我加了两分钱:
真正的解决方案是,您的配置文件中存储的内容通常不匹配(检查 developer.apple.com -> 成员 -> 证书 -> 您正在使用的证书 [一定要检查是否是开发/生产)以及在您的应用程序中启用的内容(双击项目名称),在水平菜单下选择“功能”(“常规”旁边)。
如果您最近更改了其中一项,请务必在 XCode -> Preferences -> Accounts -> Details -> Refresh Icon 下刷新您的证书,然后重新启动 XCode。
在我的案例中,我必须接受 Apple 开发者许可协议。
登录苹果开发者账号,观察类似下图的通知信息。
“Apple Developer Program 许可协议已更新。为了访问某些会员资源,**** 必须在 2016 年 6 月 28 日之前接受最新的许可协议。”
早些时候,虽然我更改/检查了功能、配置文件、证书等,但我无法将 iCloud 容器添加/编辑到 App ID。在同意合同后,事情开始顺利进行。
希望它可以节省某人的宝贵时间。
我在我的应用程序中使用推送通知,开发完成后我尝试测试发布配置的推送通知。当时我得到了这个错误。
我正在使用Production Provisioning Profile 来运行release。所以我能够通过使用Adhoc Provisioning Profile 来解决这个错误。
对于那些在目标构建设置中 与自动配置文件有相同问题的人:
编辑目标权利文件时要非常小心!这可能会破坏与自动生成的配置文件的对应关系,您将收到此错误。
就我而言,我不得不临时使用带有调试版本的 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>
这破坏了通信,并产生了错误。
在我的情况下,APNS 证书已过期,删除过期证书并重新生成配置文件可解决问题。
有时来自 xcode 应用程序安装的错误消息可能非常具有误导性,我已经多次对齐权利,但根本原因不是因为这个,而是因为我更改了证书并且我的构建管道脚本使用了错误的证书 SHA 值:
/usr/bin/codesign --force --sign 701BB03735D5960C855D6E79223414F93F40065E --entitlements $workspace/xxx.app.xcent --timestamp=none $workspace/xxxx.app
就我而言,我的权利文件没有任何问题,这是因为701BB03735D5960C855D6E79223414F93F40065E
错误,但错误消息始终打印为The executable was signed with invalid entitlements
. 为此浪费了我一整天。
如果此处列出的其他好的答案对您不起作用,请尝试打开 Keychain Access 并删除所有“iPhone Developer...”证书,而不是您用于代码签名的主要证书。我发现我有几个被吊销的证书,还有我其他队友的证书需要删除。
我只是去了苹果开发门户,下载了适当的配置文件并重新安装(xcode 10.1)
(Xcode 7.3.1)我特别遇到了这个问题,只有一台设备。为我解决的问题是从同事的计算机上运行该应用程序(成功),然后我的计算机上不再出现此错误。
我面临同样的问题。对我来说,解决方案是以下步骤。
结论:如果启用了任何服务但未配置,那么禁用或配置该服务可能会解决问题
首先,如果您手动设置了配置文件,请确保在构建之前为您选择的配置选择了正确的配置文件。如果您已将自动设置为您的配置文件,请确保 Xcode 在构建时选择了正确的配置文件。
即使它看起来很容易解决,我也解决了它更新我的 iphone 的 ios 版本。编辑因为downvote:我看到的所有答案都只谈论xcode更新。这很奇怪,因为我的旧 ios 版本是 ios 13.3.3,它可以在另一部 ios 13.6 的 iphone 上运行。更新到 ios 13.7 后,它工作了。
上面所说的都是正确的,尤其是 Bartłomiej Semańczyk:重新检查开发中心和项目中的权利设置。
Xcode 9/iOS 11我的两分钱..
如果您在您的仓库中添加了新的 NFC 权利(仅适用于 iOS11 / Xcode 9),并且您还有一个 Xcode 8 项目,Xcode 8 将失败。
因此,如果您使用具有相同基本代码(带有条件编译)的多个项目共享相同的非代码文件,请务必区分不同 Xcode 版本之间的权利文件。
我在 Xcode 8.3.2 中遇到了类似的错误。就我而言,我发现从 ~/Library/MobileDevice/Provisioning Profiles 中删除缓存的配置文件使 Xcode 再次从开发人员门户下载正确的配置文件,然后它第一次工作。希望这对其他人有帮助!