Xcode 11.2-无法将App文件安装到设备?


29

我最近将操作系统更新为Catalina,并将Xcode更新为11.2。由于这样做,当我尝试在设备上运行应用程序的发行版时,仅收到错误消息:

无法安装该应用程序。

当我点击“详细信息”时,它为我提供了以下内容:

应用程序安装失败域:com.apple.dtdevicekit代码:-402620395失败原因:找不到此可执行文件的有效配置文件。

用户信息:{DVTRadarComponentKey = 487927; “ com.apple.dtdevicekit.stacktrace” =(0 DTDeviceKitBase 0x000000011baff6e7 DTDKCreateNSError + 109 1 DTDeviceKitBase
0x000000011baffde9 DTDK_AMDErrorToNSError + 792 2 DTDeviceKitBase
0x000000011bb3f56a 90- [DTDKMobileDeviceTokenxBasevship 3Bassship_SigningvBase_ship_Signature 3带有与UNDInk一起的FB_Signal_Message_Signal_tv_song_Signal_tv_song_tv_singt_tv_song_Desktop_tv_song_Desktop_tv_song_tv_vs_vs_vs_vs_tv_song
0x000000011bb3f301 - [DTDKMobileDeviceToken installApplicationBundleAtPath:withOptions:andError:withCallback:] + 1589 5 IDEiOSSupportCore 0x000000011b9c7a25 __118- [DVTiOSDevice(DVTiPhoneApplicationInstallation)processAppInstallSet:appUninstallSet:installOptions:completionBlock:] _ block_invoke.352 + 4523 6 DVTFoundation 0x00000001036a03ba __DVT_CALLING_CLIENT_BLOCK
+ 7 7 DVTFoundation 0x00000001036a1a92 __DVTDispatchAsync_block_invoke + 809 8
libdispatch.dylib 0x00007fff68220583 _dispatch_call_block_and_release + 12 9 libdispatch.dylib 0x00007fff6822150e _dispatch_client_callout + 8 10 libdispatch.dylib 0x00007fff68226ace _dispatch_lane_serial_drain + 597 11 libdispatch.dylib 0x00007fff68227452 _dispatch_lane_invoke + 363 12 libdispatch.dylib 0x00007fff68230a9e _dispatch_workloop_worker_thread + 598 13 libsystem_pthread.dylib 0x00007fff6847a71b _pthread_wqthread + 290 14 libsystem_pthread。 dylib 0x00007fff6847a57b start_wqthread + 15); }

我的配置文件和我的证书都是100%正确的。我不知道为什么会这样,而且我已经尝试了所有方法来安装/运行它。我试过了:

  • 再次检查“方案”是否已在“运行”标签下选中
  • 确认选择了正确的配置文件
  • 从我的设备中删除该应用
  • 创建新的配置文件
  • 更改我的捆绑ID
  • 创建新证书
  • 清理构建文件夹,重新启动Xcode
  • 重新安装Xcode
  • 删除衍生数据文件夹

以上都不起作用。我已经在这里待了2天了-感激不尽。我可以将应用程序文件成功安装到设备上的唯一方法是,如果我先将其上传到TestFlight(每次我想测试一个小的变化,我都无法做到)。


您是否可以使用第二台设备验证这一点?
CodeBender

是的,我尝试将应用程序安装到2个不同的设备上,每次都出现相同的错误。@CodeBender
布列塔尼州

1
您提到最近更新到11.2,这是您第一次使用Xcode 11.x构建吗?对于Apple开发人员站点中的分发配置文件,有一个特定于Xcode 11的新选项,您是否正在使用该选项?
CodeBender

1
同样在“构建系统”下的“文件”>“工作区设置”下,您选择了什么?
shim

1
它让我发疯了!!!我仍然有这个问题,这里没有解决方案。还有其他想法吗?
乔治

Answers:


19

转到“文件”->“工作区设置”,并确保您的构建系统设置为“旧式构建系统”。

我在Catalina和Xcode 11.2上遇到了同样的问题,这为我解决了。

从Xcode 11开始,Apple开始强制执行某些构建标准,以前这些标准仅适用于基于.ipa提取的AppStore构建和设备构建。

到目前为止,我已经遇到:

  • 对于旧项目或使用旧框架的项目的设备部署,需要上述旧版构建系统设置
  • 删除未使用的体系结构以从存档中提取IPA

可能是相同的问题-看到的错误略有不同,但是这里没有解决方案。该可执行文件已使用无效的权利进行签名。域:com.apple.dtdevicekit代码:-402620394失败原因:在应用程序的代码签名权利文件中指定的权利无效,不允许或与您的配置文件中指定的权利不匹配。(0xE8008016)。
drewster,

2
@drewster我也有同样的错误,它与构建中未使用的体系结构有关。有时,框架会在手臂架构之上指定x86架构。运行本文中指定脚本可以为我解决此问题。
Lean van Heerden

2
不幸的是,改用旧版构建系统对我不起作用:/
布列塔尼

1
花了几个小时。我在工作区中添加了一个项目,该项目生成了我作为目标创建的框架。然后,我将工作空间中的主项目嵌入/链接到该框架项目。使用11.2.1 GM中的新构建系统,然后在受监管设备上导出IN HOUSE将显示“无法安装...”。阅读这篇文章,然后我切换到旧版构建系统。那是显示错误!!!告诉我lipo在归档时无法剥离错误的体系结构。这样就指出了正确的方向,然后我修复了未正确构建的框架。谢谢遗产!
zumzum

就我而言,改用传统并不能解决这个问题。这是由于配置文件的更改。我最终从设备中删除了该应用程序,然后安装成功。
康斯坦丁诺斯



5

对我来说,这是由于我在应用程序中添加了动态框架。最初,我为动态框架选择了(嵌入+不签名)选项。

对于此类框架,将其更改为(嵌入和签名)对我来说解决了这个问题。

在此处输入图片说明


刚刚添加了带有“无符号嵌入”的外部框架,就遇到了同样的问题。将其更改为“嵌入并签名”-做得好!
malex

3

第一次清洁时,我设法解决了这个问题:

cmd + k
shift + cmd + k

然后删除“派生数据”的所有内容,文件夹的路径应如下所示

/Users/youruser/Library/Developer/Xcode/DerivedData

或者您可以签入

Xcode -> Preferences -> Locations

0

在找到此解决方案之前,我遇到了同样的问题。我必须清除所有旧证书和配置文件,然后使用“ Apple Development”和“ Apple Distribution”(而不是“ iOS ...”选项)创建新证书。


0

我有同样的问题,问题是我使用的是未付费帐户,并且达到了免费开发配置文件的总数,因此您必须使用付费帐户

detailes:

失败原因:用于免费开发配置文件的应用程序已达到最大数量


我有同样的问题。我阅读了详细信息,然后才意识到
Candyline

0

运行一个项目,有一个库下,当我得到这个错误Embed Frameworks其中有Code Sign on Copy听之任之。选中此标记可以为我解决此问题。


0

“ -402620395失败原因:找不到此可执行文件的有效配置文件。”

我也有这个问题,并解决了:

这意味着您的配置文件未设置为开发。您需要为开发创建一个新的配置文件,该配置文件与用于分发的配置文件集不同。然后,在签名和功能中,在xcode上的应用程序设置中,如果要安装在设备上,请选择开发配置文件。不必担心会与您的开发配置文件一起分发,您必须选择在推送到应用商店时要使用的配置文件(其设置为无,并且需要进行切换)。

另一个解决方案是选择自动管理登录设置,但是在推送到您可能不想要的应用程序商店时设置了默认设置。


-1

Apple已于2019年11月5日弃用Xcode 11.2

即使可以将其安装在设备上,也无法通过AppStore:有关日志,请参见此处

下载最新有效的AppStore版本 xip文件。

预习

Xcode 11.2出现一些问题,使旧的iOS设备崩溃,并且未安装在新的iOS设备上。因此,现在您可以:

因此,解决方案是:

  1. 将macOS更新到10.15.1
  2. 安装Xcode 11.2.1 GM种子
  3. 在更新的设备上构建并安装该应用程序(13.2.2现在已退出)

立即下载Xcode 11.2.1 GM种子...我会让你们知道它是否解决了问题。很高兴不只是我-开始觉得我正在使用Xcode 11.2服用疯狂药丸。
布列塔尼

2
根据链接的SO帖子,崩溃与具有的iOS 13之前的设备有关UITextView。关于“在较新的iOS设备上”的安装问题,这里没有任何内容
shim

自从苹果公司陷入混乱以来,该帖子包含许多链接。@shim,但现在Apple接受该问题,并完全弃用Xcode 11.2,并将其从AppStore中删除。
Mojtaba Hosseini

3
此答案与问题无关,我使用Xcode 11.2.1测试了应用程序部署,并且问题仍然存在。我可以将应用程序部署到具有Xcode 11.2.1的设备的唯一方法是将“文件->工作区设置->构建系统”设置为“旧版构建系统”
Lean van Heerden

那么@Brittany是什么结果?奏效了吗?
Mojtaba Hosseini

-1

此问题仅与代码签名有关

但是,这里要注意的关键是,如果您使用的是XCode 11.x版本。不仅是项目中的代码签名,而且我们还应检查添加到项目中的第三方SDK或依赖项中的代码签名。

验证第三方SDks的代码签名的步骤:

  1. 下载您需要的框架的源代码
  2. 使用XCode 11.x从源代码打开.xcproj文件
  3. 转到目标->签名和功能->选择所有选项卡->捆绑标识符如果您看到标识符有任何不均,例如带有4个分隔符的标识符(例如com.company.mac.app)

    将其更改为com。*,然后输入。

  4. 确保使用XCode 11.x设置了XCODE命令线工具

  5. 现在,使用下面的命令重建SDK,并在上面的步骤3中完成更改

      carthage build --no-skip-current --cache-builds --platform iOS
  6. 现在,复制从源代码的carthage文件夹生成的框架,并替换项目中的现有SDK。

对您项目中的所有第三方SDK重复相同的过程。

注意:确保已将所有第三方SDK标记为“ 嵌入并登录

Targets => General => Frameworks, Libraries, and Embedded Content

-1

这可能是由于运行分发/发行方案。更改方案以进行调试对我有效。希望这对某人有帮助。

在此处输入图片说明

在此处输入图片说明


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.