本来想在iOS9模拟器上运行公司的项目看下效果,下了个模拟器老半天终于下载好了,高高兴兴一运行,结果直接crash...
报错内容
crash
代码语言:javascript复制dyld_sim`dyld_fatal_error:
0x106bb6000 < 0>: int3
-> 0x106bb6001 < 1>: nop
代码语言:javascript复制dyld: Library not loaded: /usr/lib/libauto.dylib
Referenced from: /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
Reason: no suitable image found. Did find:
/usr/lib/libauto.dylib: mach-o, but not built for iOS simulator
(lldb)
Xcode10.2 iOS9.3之前的版本都会出现这个问题
实验
如图,心情拔凉拔凉的 Or2,接着下了iOS10.1试着运行一下,一切OK。
后面做了个实验,创建一个纯OC和纯Swift的测试项目,进行了如下测试
类型 | 模拟器上运行结果 |
---|---|
纯OC | iOS9以上都运行成功 |
纯Swift | iOS9运行失败,iOS10以上运行成功 |
OC和Swift混编 | iOS9运行失败,iOS10以上运行成功 |
结论:很显示,只要包含了Swift代码就会在iOS9模拟器上运行失败,而iOS9真机上则没有任何问题。
解决方案
打开终端,执行一下该命令就可以了,其中 iOS 9.1.simruntime
需要根据自己的情况修改版本号
sudo mkdir '/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 9.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/swift'
命令出处:苹果官网的 xcode_10_2_1_release_notes