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

Dan*_*son 188 xcode ios

从昨天起,我在设备上运行应用程序时遇到以下错误:"找不到此可执行文件的有效配置文件.".这是在更新到Xcode 10之后.上周使用Xcode 9构建没有问题.

我已经检查了有关错误的其他讨论,但没有一个解决方案有效.

问题不仅限于我一直在研究的单个项目,因为它会影响来自不同签名团队的几个项目.

到目前为止,我已经尝试了以下内容:

  • 清洁项目

  • 清理派生数据

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

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

  • 使用不同设备进行测试

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

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

  • 取消选中并重新检查"自动管理签名"

  • 删除配置文件并让Xcode重新创建它

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

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

需要注意的是,除了我创建的手册之外,此处未列出任何配置文件:https://developer.apple.com/account/ios/profile/

我希望xcode生成的一个显示为所有其他客户端.

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

配置配置文件设置

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

Ste*_*hen 441

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

  • 但是,这是什么意思?它有什么作用?我们如何知道可以再次更改设置? (7认同)
  • 不适合我:((我的Xcode版本是10.1.我的iPhone OS版本是12.1 (6认同)
  • 这在Cordova版本上工作-出色的工作。显然,Cordova CLI有一个要跳过的参数:cordova build ios --buildFlag ='-UseModernBuildSystem = 0'在此处查看更多信息:https://github.com/apache/cordova-ios/issues/407 (4认同)
  • 文件下没有项目设置.我必须单击Workspace Settings,然后从Shared and Per-User Workspace Settings中的Build System下拉列表中选择"Legacy Build System". (4认同)
  • 我正在使用 xcframework,它绝对需要新的构建系统,所以我无法更改为旧的构建系统! (3认同)
  • 感谢上帝。认真的苹果,WTF? (2认同)

小智 86

@Stephen为我解决了这个问题.我只需要去 - >文件 - > WorspaceSettings - > Build Settings(在此更改为"Legacy Build System")在此输入图像描述

在此输入图像描述


Ric*_*mää 42

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

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

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

确保Debug和Release都设置为iOS Developer,而不是iOS Distribution ; 或者您的iOS Developer Provisioning配置文件,如果未设置为自动值.

配置文件也是如此.它应该是您开发的配置文件,而不是您的分发配置文件. 在此输入图像描述

希望这将有助于未来的开发人员.

  • 这真的帮助了我!<3 (2认同)

Che*_*hen 30

我已经尝试了以上所有解决方案.

但是,就我而言,经过数小时的头痛之后,由于测试项目没有有效的帐户来配置签名.之后,我选择了一个团队,在测试项目中使用自动管理签名进行配置.这个问题消失了.

  • @red-devil 因此,您必须更新所有目标项目中的签名管理。 (2认同)

Jer*_* Li 21

使用干净的构建文件夹(命令+ shift + K),重新构建应用程序可以很快解决此问题。但是,由于您已经清理了构建文件夹,因此构建时间将增加。


小智 15

所以这不会是每个人的情况,但我想无论如何我都会在这里发布它,因为似乎没有任何与之相关的答案。

就我而言,我正在开发一个在 ReactNative 中开发的应用程序,我的问题是,尽管我的签名在主应用程序目标上是正确的,但测试目标没有对其应用任何签名。
出于某种原因,React Native 要求您的应用程序目标和测试目标都进行签名,以便在设备上安装应用程序。
它确实在有关为设备构建的官方文档中指定了这一点,但是它是我见过的唯一一个实例,其中测试目标与应用程序一起构建,用于除测试之外的任何事情。

为了对您的测试目标进行签名,请通过打开项目导航器 (?1) 并在顶部选择您的项目来转到您的项目设置。

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

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

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

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

  • 这为我修复了它,而其他什么都没有。感谢您的发表。 (2认同)
  • 非常感谢您指出这一点。我重新命名了项目并更换了团队。测试目标有一个旧的团队名称。我已经挣扎了几个小时了。再次非常感谢 (2认同)

Rap*_*tor 14

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

  1. 转到此文件夹: ~/Library/MobileDevice/Provisioning Profiles/
  2. 删除所有配置文件
  3. 在 Xcode 10 菜单 > 产品 > 清理构建文件夹
  4. 在 Xcode 10 菜单 > Xcode > Preferences > Account > Download Manual Profiles
  5. 在 Xcode 10 菜单 > 产品 > 构建/存档

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

  • 只有这个答案解决了我的问题。谢谢! (2认同)

del*_*ete 6

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

升级到MacOS Mojave后,问题开始了。不幸的是,回到HighSierra并没有帮助。

创建新的证书和配置文件后,至少我们能够再次进入App Store。但是我们仍然无法再在实际设备上以发布模式测试我们的App,这对于测试InApp购买是必不可少的。

简而言之:归档和提交工作良好,不能在真实设备上运行!

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

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

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

尽管这只会在我们公司的某个特定应用程序上发生,而并非在所有其他应用程序上发生,但是随着苹果开发工具的情况变得越来越糟,我们希望将来会遇到类似问题...


Arj*_*tel 6

我已经遵循了上述所有步骤,但最终对我来说不起作用。我创建了重复的 Target 并且它工作正常。我不知道出了什么问题,也许是缓存问题

在此输入图像描述


Mil*_*der 6

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

我为解决该问题所做的操作:

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


Dav*_*yes 5

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

结果我在我的配置文件中为每个目标选择了不同的团队。

要解决这个问题 :

  • 清理构建文件夹

  • 确保所有可能的目标都使用同一个团队。请参阅常规选项卡下的配置文件签名。

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

    选择了不同的团队。


Rew*_*eer 5

确保配置文件来自您的目标和 targetTests 中的同一团队


小智 5

就我而言,设备日期时间设置为未来日期。将日期设置更改为“自动”修复了该问题。