Xcode 10:没有找到该可执行文件的有效配置文件

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

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

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

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

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

  • < p >清洁项目

  • 清洗派生数据

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

  • 在完全不同的Mac上安装Xcode

  • 使用不同的设备进行测试

  • 在开发者配置文件中禁用设备,并让Xcode重新启用它。

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

  • 取消检查和重新检查"自动管理签名"

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

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

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

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

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

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

provisioning profile settings .

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

219848 次浏览

我今天一直在努力解决这个问题,这非常令人沮丧。现在,只需进入"File" > "Project Settings..."(或在某些情况下"Workspace Settings..."),然后从"Build System"下拉菜单中选择"Legacy Build System"

我也遇到过同样的问题,我的解决方案是登录到开发者帐户。更新到Xcode 10后,所有帐户都注销了。

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

@Stephen认为这个问题已经解决了。我只需要去——>文件——> WorspaceSettings——>构建设置(这里更改为“遗留构建系统”)enter image description here

enter image description here

使用清洁构建文件夹(命令+ shift + K)和重建应用程序可以很快解决这个问题。但是,构建时间将会增加,因为您已经清理了构建文件夹。

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

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

你是否已经发行了你的应用?你需要切换回你的开发者配置文件,但不是在项目设置下的一般中,而是在建立设置中。

签署下,查看你的代码签名标识

确保Debug和Release都设置为iOS开发者,而不是iOS分布;或者你的iOS开发者配置文件,如果没有设置为自动值。

配置文件也是如此。它应该是您的开发概要文件,而不是您的发行概要文件。 enter image description here < / p >

以上的方法我都试过了。

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

你换过显影设备吗?当我买了一部新的iPhone,并给它取了和我之前的设备一样的名字时,我就遇到了这种情况。然而,一个干净的构建解决了这个问题。

对我们的团队来说,什么都没用。我们花了几天时间,尝试了上面回答和评论中提到的每一步。我们尝试了XCode 10,甚至XCode 9.2在应用程序上,这是在应用程序商店多年前。

该问题始于升级到MacOS Mojave后。不幸的是,回到HighSierra并没有什么帮助。

至少在我们创建了新的证书和配置文件后,我们能够再次将其发布到App store中。但我们仍然无法在真实设备上以发布模式测试我们的应用,这是测试inapp购买的必要条件。

简而言之:存档和提交工作得很好,在真正的设备上运行不行!

几个开发者,几个设备,macbook, XCode版本....

最后,我们不得不更改AppID,以便能够再次在真实设备上测试。

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

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

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

  1. 修改AppID为新的
  2. XCode自动生成新的配置文件
  3. 在真实设备上运行应用程序->现在它已经工作了
  4. 将AppID更改回原来的id
  5. 作品

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

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

苹果似乎在Xcode 10.2 beta 2版本中修复了这个错误。

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

签名和分发已解决的问题

当你建立一个 macOS应用程序的存档,并使用开发者ID签名证书, Xcode在存档的签名中包含了一个安全的时间戳。作为一个 结果,你现在可以向苹果的公证服务提交一个存档的应用程序 使用xcrun altool,而不需要首先使用 时间戳。(44952627) < / p > 当你构建一个macOS应用程序的存档时,Xcode不再 注入com.apple.security。的Get-task-allow权限 应用程序的签名。因此,您现在可以将存档的应用程序提交到 苹果的公证服务使用xcrun altool而不需要首先 剥夺这种权利。(44952574) < / p >

修复了导致分发工作流报告的问题 有关签名证书的信息不准确或缺失, 配置文件,以及导出或导出时使用的权利 上传应用。(45761196)

修正了当。ipa文件变薄时无法签名的问题 由主办单位输出。(45761101) < / p >

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

你只需要改变你的团队。对我来说,这很有效

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

那么你需要设置设备名称,和uuid,然后保存它。 去xcode,清理缓存,构建,一切正常。< / p >

注1:确保你的团队是集真。

注2:你可以通过连接你的mac设备来获取uuid,点击iTunes,按安全标签,你会看到uuid。

这个答案也很有帮助。

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

所以这并不适用于每个人,但我想我无论如何都要把它贴在这里,因为似乎没有任何与之相关的答案。

在我的情况下,我正在用ReactNative开发一个应用程序,我的问题是,尽管我在主应用程序目标上的签名是正确的,但测试目标没有任何签名应用到它 由于某些原因,React Native要求你的应用目标和测试目标都有签名,以便在设备上安装应用 它确实在用于设备的建筑的官方文档中指定了这一点,但这是我所见过的唯一一个测试目标与应用程序一起构建的实例,而不是用于测试

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

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

重新构建应用程序,现在应该可以成功安装了。

这要归功于Leo Lei,他的回答帮我解决了很多头疼的问题:https://stackoverflow.com/a/48657358/732844

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

确保你:

1)为您的设备注册配置文件。

2)设备必须添加到开发配置文件中并更新。

如果仍然遇到问题,请检查目标的构建设置。

确保你:

1) User-Defined中的CODE_SIGNING_REQUIRED被设置为YES

enter image description here

2)检查Signing选项是否正确。如果问题仍然存在,请切换到手动设置,而不是自动设置。

遇到同样的问题,我们在Xcode项目中有多个配置,让我们说Debug-StagingDebug-Production。然后我们统一这些,只使用一个配置Debug。但是旧的(不再存在)被卡在scheme for run阶段,所以一旦你试图运行,Xcode就会显示这条消息。这是有意义的,因为配置配置文件是在基于配置的构建设置中设置的。

运行方案是这样的:

错误的目标方案

而项目配置是这样设置的。

项目配置

改变方案以使用项目中仍然可用的配置是为我解决这个问题的原因。

我已经按照以上所有步骤,但它不是工作形式的我最后。我被创建了复制目标,它工作正常。我不知道哪里出了问题,可能是缓存问题

enter image description here

以我为例,以下是我解决问题的步骤:

  1. 进入这个文件夹:~/Library/MobileDevice/Provisioning Profiles/
  2. 删除所有配置文件
  3. 在Xcode 10菜单>产品>清洁构建文件夹
  4. 在Xcode 10菜单> Xcode >首选项>帐户>下载手动配置文件
  5. 在Xcode 10菜单> Product > Build / Archive

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

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

结果发现,我在配置配置文件中为每个目标选择了不同的Teams。

解决方法:

  • 清理生成文件夹

  • 确保所有目标使用相同的团队。参见“常规”选项卡下的“配置文件签名”。

  • 如果没有对所有目标使用相同的团队,在切换到构建目标之前清理

    不同的团队选择。

确保在target和targetTests中配置配置文件都是来自同一个团队

在我的例子中,设备日期-时间被设置为未来的日期。 修改日期设置为“自动”修复了这个问题

这需要很长时间,我们做了上面所有的解决方案,但它们根本不起作用,所以我们的团队决定删除Pod文件并再次运行pod install。最后我们的OTA上传了安装在用户设备上的ipa。 最佳解决方案< / p >
  1. 清除project menu > Product > Clean Build Folder/Users/{you user name}/Library/Developer/Xcode/DerivedData

  2. 转到你的项目目录,删除Podfile.lockPods文件夹,pod_***.framework

  3. 再次运行pod install

我有同样的问题(XCode 11),没有什么工作,写在这里。

我的问题是我的手机上有iOS测试版(13.3)。恢复后,一切工作正常。


< >强的想法: 也许设备也缓存了一些关于配置文件的信息,所以手机的出厂重置可能也会修复它?< / p >

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

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

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

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

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

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

build settings details

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

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

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

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

9)运行应用程序。

对我来说,删除一个Capability,然后再将其添加回来是有效的。

Capabilities tab

我做了以下事情:

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

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

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

我是如何解决这个问题的:

  • 未配对设备(Xcode >窗口>设备和模拟器>左键单击设备取消配对设备。
  • 重新启动手机
  • 清洁构建文件夹(Xcode >产品>清洁构建文件夹)
  • 清洁派生数据(在../library/Developer/Xcode/DerivedData中)
  • 再次清理构建文件夹(Xcode > Product > Clean Build Folder)
  • 在设备上构建应用程序。

最后,我明白了是怎么回事……差不多花了我2个小时

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

如果你已经尝试了所有的答案,但都没用。进入设置,检查你手机的日期。

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

打开你的Mac上的钥匙链访问,删除旧的过期的苹果开发证书。这为我解决了问题。

检查您是否正在使用Ad Hoc分发配置配置文件而不是应用商店分发配置文件,我得到这个错误,因为这。

我只是从苹果开发者禁用我的设备,然后问题就解决了。(在Xcode 12.4上测试了很多次)

我试过所有其他的答案,但(令人惊讶的是)没有一个对我有效。最后,我认为我的开发帐户必须是“可信的”。让它运行。

这可以在你的iOS设备Settings > General > Device Management > Developer App下配置。您应该确保您的帐户被标记为受信任。

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

在Xcode中:

  • 转到Window > Devices and Simulators:出现一个新窗口。
  • 在左侧窗格中找到连接的设备。右键单击它并选择Show Provisioning Profiles...:会出现一个新窗口。
  • 手动添加您的开发配置文件。

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

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

1-去项目edit scheme

enter image description here

2-然后进入profile选项卡info选项卡,然后选择building configuration debug

enter image description here

3-运行剖析命令⌘+i

好吧,似乎所有的答案中都没有提到我的案例。

我的应用程序是基于React Native。在这种情况下,一定要勾选“一般”;→框架、库和嵌入式内容;在项目设置中。如果有任何嵌入式框架,“嵌入式”一栏;应该是"Embed &Sign"。