如何修复Xcode的"DTAssetProviderService无法启动"错误?

14
我已经升级了macOS Sierra开发者预览版,但当我在模拟器上尝试运行我的项目时,我的Xcode 7.3.1出现以下错误。此外,通用归档还会出现另一个错误,如下所示:

另外针对归档:已发生加密验证失败。

输入图像描述信息

我该如何解决这个问题?

我之前尝试过Xcode 8.0 Beta,卸载它并删除derivedData和重置模拟器内容,但仍然出现此错误。

更新:

我想分享一些信息给现在想要使用Sierra的人。如果您决定进行以下更改,则需要知道“上传带有beta软件的应用商店”不被Apple允许。建议用El Capitan和Xcode 7.3.1进行生产。

5个回答

11

解决方案需要一些时间,但它帮助我在每个工作流程中更快地完成任务。谢谢,它没有出现任何错误。 - iamburak
1
这对我没用:( 我已经删除了Xcode 7.3.1,但是我的所有首选项和设备都没有被重置,无论如何模拟器都无法工作。有什么办法可以“永久性”重置Xcode吗? - Mihai Fratu
@MihaiFratu 我也会删除 $HOME/Library/Developer/Xcode/DerivedData 并确保 xcode-select -p 指向 XCode 7.3.1。 - Peter Theill
@PeterTheill,我按照你说的做了,清除了DerivedData,并确认Xcode-select-p指向7.3.1。 - YichenBman
1
@MihaiFratu 你能试着删除它们吗?请检查这些路径。可能有助于完全卸载。https://dev59.com/E10Z5IYBdhLWcg3w0zNW#33812614 - iamburak
显示剩余6条评论

7
这似乎是一个重大的错误。在苹果公司修复它之前,您可以采取以下方法解决:
  • 构建应用程序
  • 即使出现错误,应用程序仍会安装到模拟器上。
  • 手动在模拟器上启动应用程序
  • 进入Xcode
  • 单击 调试(Debug) > 附加到进程(Attach to Process) > 您的应用程序名称
这将启用Xcode调试功能,并允许您的应用程序在模拟器中运行。肯定不是理想的解决方案,但希望您可以使用此方法直到真正的解决方案出现。

感谢您的解决方案,但我已经将"纯加载方式"标记为答案。它可以保持您的工作流稳定。 - iamburak
没问题,那个解决方案肯定更好,可以保持你的工作流程快速。很高兴能帮到你。 - user3857868

5
这是macOS Sierra的一个回归问题,许多开发人员在论坛和WWDC实验室会议上报告了这个问题。Xcode 7.3不支持Sierra。如果您想使用macOS Sierra,请使用Xcode 8.0 beta或更高版本。
如果您必须在Sierra上使用Xcode 7.3,您可以通过使用Xcode.app通过Build&Run安装应用程序来部分解决此错误,从命令行挂起启动应用程序( xcrun simctl launch -w booted<app identifier> ),然后使用调试器附加并恢复挂起的进程。
请注意,此问题仅影响从Mac App Store下载的Xcode 7.3.1。如果您使用从 http://developer.apple.com 下载的Xcode(即“拖放安装程序”),则不会遇到此问题。请注意,当使用拖放安装程序时,您可能会遇到具有相同症状的另一个问题。这在 DTAssetProviderService无法与模拟器启动DTXConnection中进行了讨论。

抱歉,完全没有。 - iamburak
我不理解你的评论。我已经编辑了我的答案,希望能让你更清楚。 - Jeremy Huddleston Sequoia
谢谢,但我已经通过从https://developer.apple.com/downloads/重新安装Xcode 7.3.1来解决了。 - iamburak
Xcode 8.0完全无法运行模拟器。它显示找不到模拟器pid。有什么想法如何修复呢? - Mihai Fratu
Mihai,请打开一个新的问题,或者更好的是,在http://bugreport.apple.com上提交一个错误报告。我们没有收到关于该问题的任何报告。请在重现后包括一个sysdiagnose和~/Library/Logs/CoreSimulator的tarball。 - Jeremy Huddleston Sequoia

3

你仍然可以运行调试器,但需要手动附加它。

你可以在模拟器中点击应用程序图标运行你的应用程序,然后切换回Xcode并选择DebugAttach to Process并选择你的应用程序进程。


1
以下步骤解决了我的问题:
  1. 删除 Xcode 7.3.1 和 8 Beta
  2. 删除 /Library/Developer 和 ~/Library/Developer(在删除之前检查内容并备份需要的内容)
  3. 下载 Xcode 7.3.1 DMG 文件和 Xcode 8 Beta xip 文件(除非您已经拥有它们)
  4. 安装 7.3.1 并测试模拟器(现在应该可以正常工作了)
  5. 安装 8 Beta 并再次在 7.3.1 中测试模拟器(应该像以前一样工作)
  6. 恢复第 2 步备份的内容

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