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


76

自更新以来,我一直在使用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代码库创建一个新项目不会使模拟器崩溃。为了迅速。

概要

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

有人有什么主意吗?

最后更新

苹果公司刚刚发布了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。但不能与模拟器一起使用。
ko2ic

非常好的报告,感谢您对决议的支持。
马特

Answers:


110

这是一个影响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'

7
在运行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”修复程序的目录即可。
bauerMusic,

我尝试了无数种解决方案,但只有一种有效。非常感谢你!
范晋

12

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

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

iOS 9.3和更早版本的模拟器可能无法启动Swift应用程序,并显示以下消息:“ dyld:库未加载:/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并再次运行

上述解决方案为我工作。


6

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


这节省了我的理智!!是的,它似乎只是一个模拟器12.0错误。
user1366265

5

Xcode 10.3仍会出现此错误。(跳过10.2。)


1
它不是Swift 10.3
iOS

4

我就遇到了这个问题,当我在做单元测试iOS11iOS12.1Xcode11.1

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


2

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


2
如果任何人的项目移植到SWIFT 5.将无法正常工作
Ratul Sharker

2
是的,很好。只需参考最佳答案和官方解决方法:sudo mkdir '/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 9.3.simruntime/Contents/Resources/RuntimeRoot/usr/lib/swift'
cumanzor

“没有这样的文件或目录”
Pedro Paulo Amorim

2

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

在OS为时运行Xcode 11项目目标。10.4Mojave 10.4.6

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

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


1
是的,值得注意的是Xcode 11 + Catalina不再支持iOS9.x模拟器。
cumanzor

0

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


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.