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
上对iOS11
和iOS12.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