【iOS开发】dyld: Symbol not found: ___chkstk_darwin 问题解决
Xcode 13.2.1 运行到iOS12.x版本上崩溃报错如下:dyld: Symbol not found: ___chkstk_darwin
dyld: Symbol not found: ___chkstk_darwin
Referenced from: /private/var/containers/Bundle/Application/A424CEFD-51DB-450E-9D62-B810AD95D2DB/xxx.app/Frameworks/libswift_Concurrency.dylib (which was built for iOS 13.0)
Expected in: /usr/lib/libSystem.B.dylib
in /private/var/containers/Bundle/Application/A424CEFD-51DB-450E-9D62-B810AD95D2DB/xxx.app/Frameworks/libswift_Concurrency.dylib
解决方法一 :退回Xcode13.1
我今天遇到了同样的问题,这个问题很奇怪,因为在今天之前一切正常。经过一番检查,我发现我的系统昨晚自动将 Xcode 从 13.1 更新到了 13.2。 Xcode 13.2 Release Notes 显示 Xcode 13.2 有一个关于 libswift_Concurrency.dylib 库的编译器问题,它提供了一个 Workaround 方法来解决,但我在尝试后发现该方法对我不起作用。
我仍然不知道导致此问题的原因,但我确实通过将 Xcode 回滚到 13.1 版本使我的项目再次在我的 iphone6 上运行。
如果你的问题也是Xcode更新引起的,你可以试试这个方法。在这里下载:Xcode13.1
使用 Xcode 13 或 Xcode 13.1 构建的应用程序使用 Swift 并发功能(例如 async/await),部署到 15 之前的 iOS、15 之前的 tvOS 或 8 之前的 watchOS,并且启用了位码可能会在启动时崩溃报告未加载 libswift_Concurrency.dylib 库的错误。 (86349088)
解决方法:将 -Wl,-weak-lswift_Concurrency -Wl,-rpath,/usr/lib/swift 添加到应用程序构建设置中的 Other Linker Flags
解决方法三:等待Xcode13.3以及以后版本是否修复。
参考文章
|