记录一次找不到 App.framework/App 的 crash
Crash Info
最近做 flutter 混编的项目中。我和个别同事的启动 app 也崩溃,发现 xcode 13 下异常错误如下
dyld: Library not loaded: @rpath/App.framework/App
Referenced from: /private/var/containers/Bundle/Application/C673170A-6497-4467-985D-6FE61DB09EA7/house591.app/house591
Reason: image not found
dyld: launch, loading dependent libraries
DYLD_LIBRARY_PATH=/usr/lib/system/introspection
DYLD_PRINT_STATISTICS=1
DYLD_INSERT_LIBRARIES=/Developer/usr/lib/libBacktraceRecording.dylib:/Developer/usr/lib/libMainThreadChecker.dylib:/usr/lib/libMTLCapture.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib
DYLD_PRINT_TO_STDERR=YES
Message from debugger: Terminated due to signal 6
我自己 xcode Info
解决
- 通过调试发现主要原因是 App.framework 这个库 pod install 后路径找不到,手动补充了路径
install_framework "${PODS_ROOT}/../../../tw591flutter/.ios/Flutter/App.framework"
到Pods-xxx-frameworks
下即可正常编译运行。
- 当然这样不是最好的解决方案,毕竟每次 install 都会还原,后来搜索了 flutter issue 发现有这个问题。解决方法是更新 ruby-macho,执行命令
sudo gem update ruby-macho
。 - 补充细节,同事执行了
sudo gem update ruby-macho
后升级到 3.0.0 版本发现 Cocopods 报错,说当前版本不支持使用 3.0.0 版本,后来调整为 2.5.0 版本即可。
Thanks
- 本文链接:https://zhengzeqin.netlify.app/2022/01/25/Crash-on-dyld-Library-not-loaded-rpath-App-framework-App/
- 版权声明:本博客所有文章除特别声明外,均默认采用 许可协议。
若没有本文 Issue,您可以使用 Comment 模版新建。
GitHub Issues