从昨天开始,当我试图在我的设备上运行一个应用程序时,我一直得到以下错误:

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

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

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

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

Cleaning project Cleaning derived data Uninstalling Xcode, deleting any preferences and files related to it. Installing Xcode on a completely different Mac Testing with different devices Disabling device in developer profile and letting Xcode enable it again. Deleting all certificates in the developer portal and recreating them Unchecking and rechecking "Automatically manage signing" Trashing the provisioning profile and letting Xcode recreate it Creating a manual provisioning profile in the developer profile

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

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

我希望xcode生成一个显示,因为他们做的所有其他客户端。

下面是我目前正在使用的签名设置

我还没有尝试过将Xcode降级到旧版本,看看是否有效。除此之外,我不知道下一步该尝试什么。


当前回答

我使用Xcode 13.3 swift 5,在我的情况下,只有设备/iPhone上的分析抛出这个错误,我做了以下工作:

1-去项目编辑方案

2-然后去配置文件选项卡信息选项卡,然后选择构建配置调试

3-运行剖析命令⌘+i

其他回答

以上的方法我都试过了。

然而,在我的案例中,经过几个小时的头痛之后,这是因为测试项目没有提供签名的有效帐户。在我选择了一个团队后,在测试项目中提供自动管理签名。这个问题解决了。

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

在Xcode中:

转到窗口>设备和模拟器:出现一个新窗口。 在左侧窗格中找到连接的设备。右键单击它并选择Show Provisioning Profiles…:出现一个新窗口。 手动添加您的开发配置文件。

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

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

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

你是否已经发行了你的应用?您需要切换回您的开发人员配置文件,但不是在项目设置下的General中,而是在Build设置中。

在签名下,查看您的代码签名标识。

确保你的调试和发布都设置在iOS开发者,而不是iOS发行版;或者你的iOS开发者配置文件,如果没有设置为自动值。

配置配置文件也是如此。它应该是您的开发概要文件,而不是您的发行概要文件。

我的应用可以部署到我的iPhone上,但不能部署到我的手表上。部署到手表将给出“未找到此可执行文件的有效配置文件”错误。这是XCode版本11.2.1,使用免费的开发人员帐户。

以下是我把它部署到我的手表上的方法:

1)我删除了XCode中的配置文件。我通过到窗口->设备和模拟器来做到这一点。然后右键点击iPhone名称,选择“Show Provisioning Profiles”。从那里我可以删除文件

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

3)创建一个“清洁构建文件夹”(Product ->清洁构建文件夹)

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

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

6)拔掉电脑上的手机插头

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

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

9)运行应用程序。

我做了以下事情:

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

这很奇怪,但它对我有用,可能对其他人也有用,避免了挫折。