移动设备包不受信任,在OS X更新后无法打开Xcode

252
在自动更新macOS v10.15(Catalina)后,我无法打开Xcode。 Xcode提示我安装附加组件,但安装失败,因为MobileDevice.pkg(Applications / Xcode.app / Contents / Resources / Packages)。
我找到了多个关于定位MobileDevice.pkg的答案,并且我应该尝试直接安装它,但是当我尝试这样做时,安装也会失败。 我还尝试从App Store更新Xcode,但在即将完成时更新失败。
有人遇到过相同的情况吗? 我应该重置Mac并安装macOS v10.13(High Sierra)或从头开始安装Catalina,还是这是Xcode的问题,重新安装就可以解决?
我在这里找到了一篇讨论帖子,今天发布,可能涉及相同的问题,似乎很多人也在处理此问题。
日志:
*2019-10-25 01:03:34+02 Vendula-MacBook-Pro Xcode[1567]: Package: PKLeopardPackage 
<id=com.apple.pkg.MobileDevice, version=4.0.0.0.1.1567124787, url=file:///Applications/Xcode.app/Contents/Resources/Packages/MobileDevice.pkg> 
Failed to verify with error: Error Domain=PKInstallErrorDomain Code=102 
"The package “MobileDevice.pkg” is untrusted." 
UserInfo={
  NSLocalizedDescription=The package “MobileDevice.pkg” is untrusted., 
  NSURL=MobileDevice.pkg -- file:///Applications/Xcode.app/Contents/Resources/Packages/, 
  PKInstallPackageIdentifier=com.apple.pkg.MobileDevice, 
  NSUnderlyingError=0x7fabf6626d00 
  {
    Error Domain=NSOSStatusErrorDomain 
    Code=-2147409654 "CSSMERR_TP_CERT_EXPIRED" 
    UserInfo={
      SecTrustResult=5, 
      PKTrustLevel=PKTrustLevelExpiredCertificate,   
      NSLocalizedFailureReason=CSSMERR_TP_CERT_EXPIRED
    }
  }
}*

相关链接:https://apple.stackexchange.com/questions/373461/software-update-on-obsolete-system-is-it-real - MCCCS
为什么所有人都在投票支持这个回答,而不是Mojtaba Hosseini引用苹果官方回复的回答?按照说明更新Xcode即可。 - Will
2
如果你四处看看,你会注意到每个人都在安装11之后尝试使用XCode 10,因为我们还没有准备好进入暗模式。也许一个独立开发者可以处理它,但是那些需要数年时间设计的应用程序却被强制进行了整个UI更改。 没有人给他的答案点赞,因为它与满足企业需求的解决方案无关,但它是有效的。 - Stephen J
11个回答

378

编辑并设置您的Mac日期为2019年10月1日。


42
安装完组件后,将日期更改回当前日期。请使用2019年10月1日作为初始日期。 - Raphael G. Frantz
8
这很有效!这个解决方案(虽然是一个系统的hack)比再次卸载并重新安装这个笨重的应用程序要简单得多。 - Subhash
13
哇,这太神奇了,苹果方面的工作做得极差。@JoeWHoward,可能是一个过期的签名证书导致了安装错误,所以更改日期可以解决问题。 - Sedat Kapanoglu
1
行,它可以运行,但你们认为这是一个合适的解决方案吗?这只是一个hack! - Kasper
2
这个方法可行是因为移动套餐的证书过期了 - 检查 install.log,这就是你看到的错误。如果你信任证书即使它已经过期(我信任),那么这是一个好的解决方案,安装后你可以将时钟设置回正常时间。我甚至尝试在安装过程中将时钟设置回去(我是一个冒险家),其他证书失败了(fkcalendar?),但我仍然能够接受它们并继续进行安装。 - Michael Bushe
显示剩余5条评论

219

我没有安装Xcode 11.1,即使我在下面的解决方法后可以打开和运行11.0版本,我也无法更新到11.1版本,因为更新总是失败。所以我刚刚从App Store重新安装了整个应用程序 - 您也可以使用此方法代替以下方法。

我尝试将系统时间设置为2019年10月1日,当时证书应该仍然有效。之后,我尝试打开Xcode并进行组件安装,这一步顺利完成,现在我又能够使用Xcode了。


这不是必要的。请看下面我的回答。 - dmarnel
更改日期后,它运行正常了。你知道为什么会出现这种情况吗?我通过应用商店更新了应用程序。 - Amod Gokhale
2
安装程序在日志中提到“system_installd [8710]: kextcache: / locked; waiting for lock”时停止。我将时间设置为当前时间,然后安装继续进行。 - Mark

58

我曾遇到类似的问题,我安装了Xcode 11.1,并在与Xcode 10.2.1相同的文件夹中安装了组件和所有内容。 然后,我尝试回到Xcode 10.2.1,但无法打开,因为它要求我再次安装组件,而当我尝试时,我得到了这个错误:

“MobileDeviceDevelopment.pkg”包不受信任。

所以,对我有帮助的解决方法是导航到...

/Users/YourUser/Applications/Xcode\ 10.2.1.app/Contents/Resources/

然后,删除MobileDeviceDevelopment.pkg,一切都恢复正常了 :)

我希望这可以帮助其他遇到此问题的人。干杯!


1
在安装Xcode11之后,我遇到了与Xcode10.3完全相同的问题。我按照您建议的方法,在“Xcode10.3/Contents/Resources/Packages”目录中删除了“MobileDeviceDevelopment.pkg”,然后Xcode 10.3立即启动,甚至不需要再安装任何失败并阻止Xcode10.3启动的必需组件。我可以请您提供有关解决方案的更多详细信息吗?删除该软件包文件是否会导致代码构建方面的任何遗漏?非常感谢。 - s4mt6
5
今天从十月的假期回来,开始打开Xcode 10.3时,我遇到了同样的问题。我发现路径包括"Packages"文件夹:…Xcode\ 10.3.app/Contents/Resources/Packages/MobileDeviceDevelopment.pkg。将MobileDeviceDevelopment.pkg删除解决了我的问题,Xcode也不再需要安装组件了。 - Lewis Edward Garrett
1
如果我没有看到这个评论,我可能还要再花几天时间来解决这个问题:D 感谢您的帮助和包的纠正。 - Lohith Korupolu
1
我尝试了一下,结果显示:“您正在安装的Xcode没有正确的MobileDevice软件包。请报告错误并尝试不同版本的Xcode。” - Victor Engel
2
今天是2020年03月的星期五,这个仍然有效,但路径不同。 - André Pinto
除非您确定这些文件是不必要的,否则没有人应该彻底删除它们。备份这些文件与删除它们一样简单,这样您就不会破坏任何东西。 - John Pancoast

51

在macOS Catalina上

cd /Applications/Xcode.app/Contents/Resources/Packages
sudo rm -rf MobileDevice.pkg
sudo rm -rf MobileDeviceDevelopment.pkg 

再试一次。 这意味着您进入了下载的Xcode软件包并将其删除。我真的不明白苹果是如何做到的,但如果您删除Xcode,它将重新下载并重新验证。

一些备注,我使用的是XCODE Version 11.0 (11A420a),如果您的版本不同,则不能保证有效。


1
请提供所提出解决方案的说明。 - Goran Stoyanov
1
我尝试了这个,XCode 给了我一个警告,说我没有适当的 MobileDevice.pkg,并建议我尝试不同的构建。 - Igid
2
在 XCode 10.3 上工作过。 - Parag Bafna
1
摇滚明星!曾经参与开发版本11.0(11A419c)。 - user212514
1
还需要删除以下命令: sudo rm -rf XcodeSystemResources.pkg - heLL0
显示剩余2条评论

30

您可以通过将您的Mac的日期设置为2019年10月1日来解决此问题,但这只是一种hack方法!真正的解决方案(由苹果建议)如下:

您只需升级Xcode即可

但是apple开发者网站上已知问题

更新到macOS Catalina后,Xcode可能无法从Mac App Store更新。(56061273)

苹果公司建议这样做:

为了触发新下载,您可以删除现有的Xcode.app或暂时更改文件扩展名,以使其对App Store不再可见。


所有Xcode问题的始终有效的解决方案:

  1. 此处进行登录。

  2. 然后从此处下载xib。

更多信息请参见此答案


##针对此特定问题的回答##

摆脱那些包。

cd /Applications/Xcode.app/Contents/Resources/Packages
sudo rm -rf MobileDevice.pkg
sudo rm -rf MobileDeviceDevelopment.pkg 

Xcode会再次为您安装它们。


4
不知道为什么人们会点赞这个答案。在你的Mac上拥有多个XCode版本的原因有很多。如果其中一个旧版本无法运行,显然将日期设置回去是一个解决方案。升级则不是。 - Mark

24
rm -rf /Applications/Xcode.app/Contents/Resources/Packages/*.pkg

它将起作用并重新打开x-code


1
在命令前加上“sudo”,否则我无法正常运行该命令。 - bpolat
这个命令安全吗?它假设该目录中的所有*.pkg文件都可以安全删除。我个人会选择更安全的方式,像这样备份所有pkg文件。只需为backup_dir选择您的值:backup_dir="/my/pkg/backup-dir/"; mkdir ${backup_dir} && mv -R /Applications/Xcode.app/Contents/Resources/Packages/*.pkg ${backup_dir} - John Pancoast
由于我无法编辑上面的消息,请在mv前加上sudo,除非您已经是root用户。 - John Pancoast
这解决了我在 Xcode + clang + ... + git + ... 上遇到的多个问题。谢谢! - learner

6

尝试运行Xcode-beta而不是Xcode来安装其他组件。然后您将能够使用Xcode的发布版本。


5

对我来说,我只是卸载了应用程序(从应用程序文件夹中删除应用程序),然后返回应用商店,点击云图标,它会重新下载并安装。现在一切都好了,回到正常状态。


1
是的,我的问题是在更改了时间后无法更新到Xcode 11.1,所以我按照您的建议重新安装了整个应用程序并编辑了我的答案。 - eja08

0

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

右键点击xcode.app > 显示包内容 > Contents > Developer > Platforms > iPhoneOS.platform > Device Support

我使用的是XCode 10.2.1。我从外部GitHub网站下载了一个13.7文件夹和其中的内容,并将该文件夹导入到此处以在物理iPhone Xr上运行我的应用程序。我无法在我的开发机器上升级到Catalina。删除13.7文件夹,然后重新启动XCode解决了我的问题。


-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接