Xcode 10.2 无法在 iOS < 10 的模拟器上运行应用程序

Posted

技术标签:

【中文标题】Xcode 10.2 无法在 iOS < 10 的模拟器上运行应用程序【英文标题】:Xcode 10.2 Failed to Run App on Simulator with iOS < 10 【发布时间】:2019-08-18 17:18:36 【问题描述】:

自更新以来我一直在玩 Xcode 10.2,当我尝试在任何 ios 版本低于 10 的模拟器上运行我的应用程序时,模拟器将无法启动并崩溃,然后显示以下错误:

dyld:库未加载:/usr/lib/libauto.dylib 引用自: /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation 原因:没有找到合适的图片。确实找到了:/usr/lib/libauto.dylib: mach-o,但不是为 iOS 模拟器构建的

我尝试在不接触任何东西的情况下创建另一个新项目,将部署目标设置为 iOS 9 并再次在 iOS 9 模拟器上运行,显示相同的错误。

更新

似乎只有当您的代码库包含 swift 时才会出现此问题。使用目标 c 代码库创建了一个新项目并没有使模拟器崩溃。快速是的。

摘要

    Xcode 10.2 包含无法在 iOS 9 模拟器上运行应用的快速代码 我已完成所有清理和删除派生数据,但问题仍然存在。

有人知道吗?

最终更新

Apple 刚刚发布 Xcode 10.2.1,它是模拟器已知问题的一部分,请参阅以下链接了解解决方法/修复:

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

感谢@russbishop 的回复,已接受回答

【问题讨论】:

我有完全相同的问题,相同的 Xcode 版本。尝试清洁/重新安装。甚至尝试了一些魔法与配置文件/证书。还是不行。 这个错误是否只适用于模拟器,还是会在 iOS 9.3 设备上中断? 它适用于真实设备 9.3.5。但不适用于模拟器。 非常好的报告,感谢您一直坚持到解决方案。 【参考方案1】:

这是一个影响 iOS 8.x 和 9.x 的已知错误。您可以通过在相关的模拟器运行时根目录中创建/usr/lib/swift 目录来解决它。

下载的模拟器运行时位于/Library/Developer/CoreSimulator/Profiles/Runtimes

例如,修复 iOS 9.3 模拟器:

sudo mkdir '/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 9.3.simruntime/Contents/Resources/RuntimeRoot/usr/lib/swift'

【讨论】:

在运行 mkdir 之前,请确保“iOS 9.3.simruntime”不存在。对我来说,“.../RuntimeRoot/usr/lib/swift”缺少“swift”文件夹。只需导航到“/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 9.3.simruntime/Contents/Resources/RuntimeRoot/usr/lib”并为“swift”修复它创建一个目录。 我尝试了无数的解决方案,只有这一个有效。非常感谢!【参考方案2】:

我在 iOS 9.0 模拟器中运行时也遇到了同样的问题。

来自https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_1_release_notes

iOS 9.3 及更早版本的模拟器可能无法启动 Swift 应用程序并显示以下消息:“dyld: Library not loaded: /usr/lib/libauto.dylib”。 (49326587) 解决方法:在终端中针对相关版本的 iOS 运行以下命令:

sudo mkdir '/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 9.3.simruntime/Contents/Resources/RuntimeRoot/usr/lib/swift'

对于该链接中给出的上述解决方案的这个苹果。

简单

--> 打开终端

--> 输入您需要的版本(在我的情况下,我从 iOS 9.3 更改为 iOS 9.0)

例如: sudo mkdir '/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 9.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib/swift'

--> 输入密码

--> 现在清理 Xcode 并再次运行

上述解决方案对我有用。

【讨论】:

【参考方案3】:

这似乎是一个 iOS 模拟器错误。我在 iOS 12.0 的模拟器上看到了这种情况,但在 12.4 的模拟器上却没有。

【讨论】:

这拯救了我的理智!!是的,它似乎只是一个模拟器 12.0 的错误。【参考方案4】:

Xcode 10.3 仍然存在这个错误。 (跳过 10.2。)

【讨论】:

不是 Swift 10.3【参考方案5】:

我在Xcode11.1 上对iOS11iOS12.1 进行单元测试时遇到了这个问题

解决方案是使用 iOS13 模拟器运行单元测试。

【讨论】:

【参考方案6】:

一个相当烦人的解决方法:现在使用 Xcode 10.1 在 9.x 模拟器上部署。这是我能够解决这个问题的唯一方法。

【讨论】:

如果有人的项目被移植到 swift 5 将无法工作。 是的,很好。只需参考最佳答案和官方解决方法:sudo mkdir '/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 9.3.simruntime/Contents/Resources/RuntimeRoot/usr/lib/swift' "没有这样的文件或目录"【参考方案7】:

以上都不适合我。 我的问题与此相同,但正在为macOS 构建应用程序。

运行Xcode 11 项目目标10.4 而我的操作系统是Mojave 10.4.6

我必须安装 Xcode 10.3 并改用它。从此没有问题。

我的猜测是操作系统、Xcode version 和项目目标的问题。

【讨论】:

是的,值得注意的是 Xcode 11 + Catalina 不再支持 iOS9.x 模拟器。【参考方案8】:

不得不使用 Xcode 10.2.1 我在另一个库中遇到了这个问题,最后不得不在构建设置中将始终嵌入 swift 库设置为 YES,因为有问题的库位于我拥有的框架文件中。

【讨论】:

【参考方案9】:

更新到 Xcode 10.3 已经为我解决了这个问题。

【讨论】:

以上是关于Xcode 10.2 无法在 iOS < 10 的模拟器上运行应用程序的主要内容,如果未能解决你的问题,请参考以下文章

[转]iOS 10.2 XCode 8.2 证书申请 远程推送 打包上架

appium 1.6.3 + ios 10.2 + xcode 8.2.1 真机运行iphone app

如何修复 install_name_tool:无法在 xcode 10.2 中打开文件

UIWindow 及其内容未在 Xcode 11 iOS 13 中显示。出现黑屏

Xcode iOS9.3 配置包 iOS10.0 配置包 iOS10.2 配置包 could not find developer disk image

在 xcode 版本 10.2 中为产品类型“应用程序”签署二进制文件时,空标识无效