ChatGPT解决这个技术问题 Extra ChatGPT

Xcode 10:找不到此可执行文件的有效配置文件

从昨天开始,我在尝试在我的设备上运行应用程序时遇到以下错误:

找不到此可执行文件的有效配置文件。”

这是在更新到 Xcode 10 之后。上周使用 Xcode 9 构建工作没有问题。我已经检查了有关该错误的其他讨论,但没有一个解决方案有效。

这个问题不仅限于我一直在从事的一个项目,因为它影响了来自不同签约团队的几个项目。

到目前为止,我已经尝试了以下方法:

清洁工程

清理派生数据

卸载 Xcode,删除与其相关的任何首选项和文件。

在完全不同的 Mac 上安装 Xcode

使用不同的设备进行测试

在开发人员配置文件中禁用设备并让 Xcode 再次启用它。

删除开发人员门户中的所有证书并重新创建它们

取消选中并重新选中“自动管理签名”

丢弃配置文件并让 Xcode 重新创建它

在开发人员配置文件中创建手动配置文件

该项目不包含测试,因此该目标上的错误签名设置不会有问题。日期/时间设置为自动

需要注意的一点是,这里没有列出任何配置文件,除了我创建的手动配置文件:https://developer.apple.com/account/ios/profile/

我希望生成的 xcode 会像所有其他客户端一样显示出来。

以下是我当前使用的签名设置

https://i.stack.imgur.com/vKsC8.png

我还没有尝试将 Xcode 降级到旧版本,看看是否可行。除此之外,我不知道接下来要尝试什么。

您是否在 Xcode 偏好设置中添加了开发者帐户?
@AnkitJayaswal 多次,从未让它工作。然而,我能够通过降级到 9.4.1 来解决它,所以这个问题似乎与 Xcode 10 有关。您应该能够在一段时间内使用旧 Xcode 版本提交应用程序,对吧?
是的,您可以在 2019 年 3 月之前从 xcode 9 及其版本提交构建developer.apple.com/ios/submit
我也尝试过使用 Xcode 10,但我没有遇到 missing provisioning-profile 的此类问题。
您是否在证书的到期数据之后更改了 iPhone 日期?由于这个原因,我遇到了这个问题。

S
Stephen

我今天正在为此苦苦挣扎,这非常令人沮丧。现在,只需进入 "File" > "Project Settings..."(或在某些情况下为 "Workspace Settings..."),然后从 "Build System" 下拉菜单中选择 "Legacy Build System"


但是,这是什么意思?它有什么影响,我们怎么知道我们可以再次更改设置?
这适用于 Cordova 构建——出色的工作。显然,Cordova CLI 有一个要跳过的参数:cordova build ios --buildFlag='-UseModernBuildSystem=0' 在此处查看更多信息:github.com/apache/cordova-ios/issues/407
文件下没有项目设置。我必须单击 Workspace Settings,然后从 Shared and Per-User Workspace Settings 的 Build System 下拉菜单中选择“Legacy Build System”。
不适合我 :((。我的 Xcode 版本是 10.1。我的 iPhone OS 版本是 12.1
我正在使用绝对需要新构建系统的 xcframework,所以我无法更改为旧版构建系统!
Z
Zoe stands with Ukraine

[编辑] Note 2020:我曾经手动签署这个项目。在我自动签名的项目中,我从来没有遇到过这个问题。 [/编辑]

我遇到了同样的问题,花了几个小时寻找答案、删除配置文件、清理项目等等。

您是否已分发您的应用程序?您需要切换回您的开发人员配置文件,但不是在项目设置下的常规中,而是在构建设置中。

在签名下,查看您的代码签名身份。

确保您的 Debug 和 Release 都设置为您的 iOS Developer,而不是 iOS Distribution;或您的 iOS 开发人员配置文件(如果未设置为自动值)。

https://i.stack.imgur.com/it4Aa.png


澄清一下(因为当我第一次阅读这个建议时,我被这个建议弄糊涂了):这个对 iOS 开发者的发布变化只是在直接在连接的设备上测试时;在构建以上传到 testflight/应用商店时,需要更改回 iOS Distribution,对吗?
老实说:没有。我不必这样做。发生这种情况的一个可能原因可能是因为我必须再次设置证书,并且可能在开发之前“安装”了发行版。这只是我的猜测,但要回答您的问题:我仍然将它们设置为开发,并在归档构建以上传到 App Store 时选择分发。
这为我修好了。我只是在尝试分析应用程序时遇到问题,它工作正常,我只是正常运行它。我有一个用于调试的开发人员帐户和一个用于发布的分发帐户。老实说,这对我来说似乎是一个 XCode/Profiling 错误。
得到它的工作,但需要多一步。由于我正在处理系留 iPhone 上的测试,因此我不必担心进入 App Store 并设置我的“iOS 分发”证书。由于我正在进行开发,我认为只需要在 App Store 上设置“iOS 开发”证书。好吧,直到我同时拥有“iOS 开发”和“iOS 分发”证书,它才起作用。
精彩的!!!!从字面上看,我的头发被扯掉了,直到我读到这篇文章才能让它发挥作用。
V
Vinícius Todesco

https://i.stack.imgur.com/GKnYK.png

https://i.stack.imgur.com/edQ5L.png


令人沮丧的是,这对我也有用。我注册了我的 UDID,创建了我的个人资料,我有一个开发证书,这一切都与我正在开发的应用程序相关联,做了你应该做的一切以便能够直接在设备上运行,但每次仍然失败 - 直到我将它切换到遗产,第一次工作...
这个解决方案可能会变得越来越不稳定,直到它不再可用。我建议不要尝试这个
C
Chen

我已经尝试了上述所有解决方案。

但是,在我的情况下,经过数小时的头痛,这是因为测试项目没有用于配置签名的有效帐户。在我选择了一个团队在测试项目中提供自动托管签名之后。这个问题就消失了。


你是怎么做到的?
@red-devil 因此,您必须更新所有目标项目中的签名管理。
谢谢,以上所有答案都没有解决我的问题。你的回答很神奇。
J
Jerome Li

使用干净的构建文件夹(command + shift + K)并重建应用程序可以很快解决这个问题。但是,由于您清理了构建文件夹,构建时间将会增加。


这对我有用(加上删除派生数据),而使用旧模式的建议不起作用。
结果对我来说,我的正常目标和测试目标有一个不同的团队,这导致了只有删除派生数据才能重置的问题。
仅清理构建文件夹(command + shift + K)为我解决了这个问题。感谢@JeromeLi!
我首先尝试了接受的答案(“传统模式”),它对我有用。然后我恢复到“新构建系统”并尝试了这个(“清理构建文件夹”)建议。它也奏效了。所以总的来说,对我来说,这是更好的答案。
这对我有用,谢谢。(ps:只有我的 iPhone 11 有这个问题,我的 iPhone Xs Max 没有这个问题,iPhone 11 是第一次安装我的测试项目)
S
Stewart Thomson

所以这对每个人来说都不是这样,但我想我还是会把它贴在这里,因为似乎没有任何与之相关的答案。

就我而言,我正在开发一个在 ReactNative 中开发的应用程序,我的问题是,尽管我在主应用程序目标上的签名是正确的,但测试目标没有应用任何签名。
出于某种原因 React Native要求您的应用目标和测试目标都经过签名才能在设备上安装应用。
它确实在 building for device 的官方文档中指定了这一点,但它是我见过的唯一一个测试目标在哪里的实例与应用程序一起构建,用于测试以外的任何内容。

为了签署您的测试目标,通过打开项目导航器 (⌘1) 转到您的项目设置,然后在顶部选择您的项目。

在主编辑器中,在 Targets 下选择您的主应用程序目标(应该与您的项目同名)并确保签名正确,然后选择测试目标(可能就在您的主应用程序目标下,它应该与 Tests 同名附加)并确保其以相同的方式签名。

重建您的应用程序,它现在应该可以成功安装。

这要归功于 Leo Lei,他的回答让我很头疼:https://stackoverflow.com/a/48657358/732844

顺便说一句,如果有人知道为什么 react native 要求您的测试目标与您的应用程序目标一起构建,他们可以告诉我吗?我能想到的唯一原因是简化界面,因此 react 可以构建单个应用程序并在不需要重建的情况下进行运行和测试,但我只是猜测那个。


这为我解决了其他问题。感谢您的发表。
非常感谢您指出这一点。我重命名了项目并更改了团队。测试目标有一个旧的团队名称。我已经挣扎了好几个小时了。再次感谢
经过数小时的头痛,这为我解决了问题。非常感谢!
在我的情况下,我也在使用 react native,但只需要将目标和测试目标的代码签名设置为自动,它就可以在设备上运行。这确保连接的设备生成了其证书和配置文件
R
Raptor

就我而言,以下是我解决问题的步骤:

转到此文件夹: ~/Library/MobileDevice/Provisioning Profiles/ Remove all the provisioning profile In Xcode 10 menu > Product > Clean Build Folder In Xcode 10 menu > Xcode > Preferences > Account > Download Manual Profiles In Xcode 10 menu > Product >构建/存档

采取上述步骤的原因是删除了破坏构建过程的旧配置文件。


只有这个答案解决了我的问题。谢谢!
在尝试了其他几个答案后为我解决了。非常感谢发帖。
d
delete

对于我们的团队来说,没有任何帮助。我们花了几天时间尝试了上面在答案和评论中提到的每一步。我们在一个应用程序上尝试了 XCode 10 甚至 XCode 9.2,该应用程序多年来一直在 App Store 上。

该问题在升级到 MacOS Mojave 后开始出现。不幸的是,当时回到 HighSierra 并没有帮助。

至少在我们创建了新的证书和配置文件之后,我们能够再次发送到 App Store。但是我们仍然无法在真实设备上以发布模式测试我们的 App,这是测试 InApp-purchases 所必需的。

简而言之:存档和提交效果很好,不能在真实设备上运行!

几个开发人员,几个设备,macbooks,XCode 版本......

最后,我们必须更改 AppID 才能再次在真实设备上进行测试。

因此,我们现在运行两个不同的项目:一个用于使用真实 AppID 发送到 TestFlight/AppStore,另一个用于开发目的,使用另一个 AppID。

虽然这只发生在我们公司的一个特定应用程序上而不是所有其他应用程序上,但我们预计将来会遇到类似的问题,因为苹果的开发工具会变得更糟......


A
Arjun Patel

我已经按照上述所有步骤进行操作,但最终对我不起作用。我创建了重复的目标,它工作正常。我不知道出了什么问题,也许是缓存内存问题

https://i.stack.imgur.com/0PtOT.png


C
Community

在我切换到我的 XCTest 单元测试目标然后回到项目运行时目标后,我在 Xcode 10.3 中出现了这个问题。

事实证明,我在我的配置文件中为每个目标选择了不同的团队。

要解决这个问题 :

清理构建文件夹

确保所有可能的目标都使用同一个团队。请参阅常规选项卡下的个人资料签名。

如果没有对所有目标使用相同的团队,请在切换到选择了不同团队的构建目标之前进行清理。


a
ancyrweb

确保供应配置文件来自您的目标和目标测试中的同一团队。


谢谢!这是我在使用 React Native 时遇到的问题
w
waheeda

就我而言,设备日期时间设置为未来日期。将日期设置更改为“自动”解决了这个问题。


M
Milander

今天我在我的设备上安装应用程序时遇到了同样的错误。更新到新的 xCode 11.4 后出现问题。

我做了什么来解决这个问题:

未配对的设备(Xcode > Window > Devices And Simulators > Left click device to unpair device.

重启 iPhone

清理构建文件夹(Xcode > 产品 > 清理构建文件夹)

清理派生数据(在 ../library/Developer/Xcode/DerivedData 中)

再次清理构建文件夹(Xcode > 产品 > 清理构建文件夹)

在设备上构建应用程序。


就我而言,我使用这些步骤解决了这个问题,而无需取消配对设备。
A
Alex Alexiev

我在同一个问题上苦苦挣扎,我的解决方案是登录开发者帐户。更新到 Xcode 10 后,所有帐户都已注销。

使用菜单“Xcode -> Preferences ... -> Accounts”并确保您使用的所有帐户都已登录,以便可以访问配置文件。


b
boog

最后,我弄清楚了发生了什么……几乎要花我 2 个小时

我的情况是,我手机的日期不正确。我忘了我更改了手机的日期。我想这会使我所有的配置文件都过期......

因此,如果您尝试了所有这些答案,但没有任何效果。转到设置,检查手机的日期。


J
Jonathan Maim

您需要在设备上手动安装开发配置文件。

在 Xcode 中:

转到窗口 > 设备和模拟器:出现一个新窗口。

在左侧窗格中找到您连接的设备。右键单击它并选择 Show Provisioning Profiles...:出现一个新窗口。

手动添加您的开发配置文件。

在设备上重新构建应用程序。


A
Apostolos Apostolidis

您是否可能更改了开发设备?当我买了一部新 iPhone 并给它取了与我以前的设备相同的名字时,就发生了这种情况。然而,一个干净的构建解决了这个问题。


S
SwiftNewling

你只需要改变你的团队。就我而言,这有效


M
Monica Granbois

我的应用程序会部署到我的 iPhone 但不是我的手表。部署到手表会给出“找不到此可执行文件的有效配置文件”。错误。这是 XCode 版本 11.2.1 并使用免费的开发者帐户。

这是我为将其部署到手表上所做的工作:

1) 我在 XCode 中删除了我的配置文件。我通过转到 Window -> Devices And Simulators 来做到这一点。然后右键单击 iPhone 名称并选择“显示配置文件”。从那里我可以删除文件

2)在设备和模拟器屏幕中,我还从“已安装的应用程序”部分删除了我的应用程序。

3)做了一个“干净的构建文件夹”(产品->清洁构建文件夹)

4)在“构建设置”->“签名部分”中,我确保每个目标(iPhone、测试和手表)具有相同的设置(开发团队、代码签名样式、配置文件设置为自动等)。

https://i.stack.imgur.com/l4OIh.png

5) 确保 ~/Library/MobileDevice/Provisioning Profiles 目录为空。

6)从电脑上拔下手机

7) 重启电脑、手机和手表

8) 将手机插回电脑,并通过手机和手表上的“信任本机”提示。

9)运行应用程序。有效!


我的苹果手表也有同样的问题,这对我有帮助。在此过程中,我还取消了配对并再次配对了我的苹果手表。谢谢!
O
Omkar Jadhav

我做了以下事情:

断开未安装应用程序的设备连接了不同的设备<它安装在第二台设备上一段时间后连接第一台设备并且它工作!

这很奇怪,但它对我有用,可能对其他人有用,并节省了挫折感。


P
Pashynia

请注意,接受的答案会阻止将构建上传到 App Store Connect。


V
Vladimir Grigorov

在 Mac 上打开 Keychain Access 并删除旧的过期 Apple 开发证书。这为我解决了这个问题。


R
Ricardo Barroso

检查您是否使用 Ad Hoc Distribution 配置文件而不是 App Store Distribution 配置文件,因此我收到此错误。


N
Nimantha

这需要很长时间,我们完成了上述所有解决方案,但它们根本不起作用,因此我们的团队决定删除 Pod 文件并再次运行 pod install。最后,我们的OTA上传了安装在用户设备上的ipa。最佳解决方案

clean project menu > Product > Clean Build Folder and /Users/{you user name}/Library/Developer/Xcode/DerivedData 进入你的项目目录并删除 Podfile.lock ,Pods folder,pod_***.framework 再次运行 pod install


D
Dharman

我使用的是 Xcode 13.3 swift 5,在我的情况下,只有在设备/iPhone 上进行分析会引发此错误,我执行了以下操作:

1- 转到项目 edit scheme

https://i.stack.imgur.com/IpgCz.png

2- 然后转到 profile 标签 info 标签,然后选择 building configuration debug

https://i.stack.imgur.com/UzreH.jpg

3- 运行分析命令 ⌘+i


i
itinance

就我而言,在没有其他帮助的情况下,我做了以下事情:

将 AppID 更改为新的 XCode 自动生成的新配置文件在真实设备上运行应用程序 -> 现在它已经工作 将 AppID 更改回原始 ID 工作

在此之前,我已经尝试了这里提到的每一步。但只有这有帮助。


P
Pushparaj Samant

对我来说,即使分发证书和配置文件可用于 Xcode,在分发过程中选择自动管理签名也会使其失败。我做了以下。如前所述,我创建了一个新的分发证书和配置文件,然后在分发过程中手动选择了证书和配置文件以及 Voilaaaa。还要确保我使用的是最新版本 10.1。


A
Artem Shevtsov

Apple 似乎在 Xcode 10.2 beta 2 Release 中修复了这个错误。

https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_beta_2_release_notes

签名和分发已解决的问题 当您构建 macOS 应用程序的存档并使用 Developer ID 签名证书时,Xcode 在存档的签名中包含一个安全时间戳。因此,您现在可以使用 xcrun altool 将存档的应用程序提交给 Apple 的公证服务,而无需首先使用时间戳重新签名。 (44952627) 当您构建 macOS 应用程序的存档时,Xcode 不再将 com.apple.security.get-task-allow 权利注入应用程序的签名中。因此,您现在可以使用 xcrun altool 将存档的应用程序提交给 Apple 的公证服务,而无需先剥夺此权利。 (44952574) 修复了导致分发工作流报告有关导出或上传应用程序时使用的签名证书、配置文件和权利的信息不准确或缺失的问题。 (45761196) 修复了从 Organizer 导出时未对精简的 .ipa 文件进行签名的问题。 (45761101)

Xcode 10.2 beta 2 Release 可以在这里下载:https://developer.apple.com/download/


那太棒了。但是如果您要为应用商店构建应用程序,如果您使用的是测试版软件,它不会让您上传 ipa
A
Anees Hikmat Abu Hmiad

在我厌倦了大部分解决方案后,我发现它可以正常工作,对我来说没有任何问题,它通过转到 developer.apple.com 然后 account 然后 Certificates, identifiers & profiles 解决,然后我点击 Devices 下的 All 链接,然后添加新设备。

然后您需要设置设备名称和uuid,然后保存。转到 xcode 并清理缓存、构建和所有工作正常。

注意 1:确保您的团队设置真理。

注意 2:您可以通过将设备连接到您的 mac 设备来获取 uuid,然后单击 iTunes,然后按安全标签,您将看到 UUID。

这个答案也很有帮助。


e
emin deniz

我确实尝试了上面所有的答案,但没有运气。之后我重新启动我的 iPhone,问题似乎消失了。我知道这很愚蠢,但它奏效了。上面的答案很可能解决了问题,但如果没有,请尝试重新启动您的 iOS 设备。