自更新以来,我一直在使用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代码库创建一个新项目不会使模拟器崩溃。很快就可以。
摘要
有人知道吗?
最终更新
Apple刚刚发布了Xcode 10.2.1,它是模拟器已知问题的一部分,有关变通办法/修复,请参考以下链接:
https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_1_release_notes
感谢@russbishop的回复,接受的答案
答案 0 :(得分:44)
这是一个已知的影响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'
答案 1 :(得分:5)
在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并再次运行
上述解决方案对我有用。
答案 2 :(得分:5)
这似乎是一个iOS模拟器错误。我看到这种情况发生在装有iOS 12.0的模拟器上,但没有出现在装有12.4的模拟器上。
答案 3 :(得分:4)
我在iOS11
上对iOS12.1
和Xcode11.1
进行单元测试时遇到了这个问题
解决方案是仅使用iOS13模拟器运行单元测试。
答案 4 :(得分:1)
一个相当烦人的解决方法:暂时使用Xcode 10.1部署在9.x模拟器上。这是我能够解决这个问题的唯一方法。
答案 5 :(得分:1)
以上都不对我有用。
我的问题与此相同,但当时正在为macOS
开发一个应用。
在我的操作系统为Xcode 11
的同时运行10.4
项目目标Mojave 10.4.6
。
我必须安装Xcode 10.3
并改用它。此后没有问题。
我的猜测是操作系统Xcode version
和项目目标存在问题。
答案 6 :(得分:0)
更新到Xcode 10.3已为我修复。
答案 7 :(得分:0)
在Swift 10.3中仍然会出现此错误。 (跳过10.2。)
答案 8 :(得分:0)
必须使用Xcode 10.2.1,我在另一个库中遇到了这个问题,最终不得不在构建设置中始终将swift库嵌入到YES中,因为该库在我的框架文件中。