美文网首页
dyld: Library not loaded: @rpath

dyld: Library not loaded: @rpath

作者: 蛋Dan | 来源:发表于2022-04-07 20:12 被阅读0次

    macos 12.2.1 , iOS flutter混合工程,启动崩溃,报错 dyld: Library not loaded: @rpath/App.framework/App

    [Add2App IOS] Instant crash on MacOS12.0.1 xcode13.1 Library not loaded: @rpath/App.framework/App #92896

    解决方法

    1. 卸载cocoapods
     sudo gem uninstall -n /usr/local/bin cocoapods cocoapods-core cocoapods-deintegrate cocoapods-downloader cocoapods-plugins cocoapods-search cocoapods-stats cocoapods-trunk cocoapods-try
    
    1. 卸载 ruby-macho
    sudo gem uninstall ruby-macho
    
    1. 重新安装cocoapods
    sudo gem install -n /usr/local/bin cocoapods
    

    以上的主要目的是 ruby-macho 升级到2.5.0 以上。

    有的人升级cocoapods 就可以,有的不行。不行的是因为升级cocoapods的时,ruby-macho 没有对应升级。

    解决过程以及原因

    我们的flutter版本是2.0.5 ,mac 系统升级到macos 12 之后,有的小伙伴会启动崩溃,报上面的错。

    对于这个问题网上有很多解决版本:

    1. 升级flutter 到最新

    2. 升级cocoaPods
      https://juejin.cn/post/7036177470541807624

    3. 加脚本
      https://blog.csdn.net/FlyingKuiKui/article/details/123728932

    除了上面提到的方法,还升级了gem,但是还是不行。
    https://blog.csdn.net/lzh253985690/article/details/104279885

    具体原因和解决办法在这个issues中有人指出了
    https://github.com/flutter/flutter/issues/92896#issuecomment-967120990
    这个有人提到

    Same problem here on macOS 12.0.1 & Xcode 13.1.
    
    After some investigations, I found that when building on macOS Monterey, two new load commands (`LC_DYLD_EXPORTS_TRIE` & `LD_DYLD_CHAINED_FIXUPS`) are inserted into `App.framework`, which makes the old version of `ruby-macho` not so happy.
    
    Problem disappeared after upgrading `cocoapods` to 1.11.0 and `ruby-macho` to 2.5.1\. See [CocoaPods/CocoaPods#10390](https://github.com/CocoaPods/CocoaPods/issues/10390)
    

    简单说就是由于 ruby-macho 版本不对,导致少了下图红框中的代码


    image.png

    解决办法就是 升级cocoapodsto 1.11.0 andruby-machoto 2.5.1

    原本想直接安装 ruby-macho 2.5.1

    ruby-macho 最新版本是 3.0
    https://github.com/Homebrew/ruby-macho/releases

    尝试之后,还是没能安装ruby-macho 2.5.1

    下面这个命令只能安装最新的ruby-macho ,不能指定版本

    gem install ruby-macho
    

    把ruby-macho 2.5.1 下载下来之后,直接放到对应的目录,还是不行。

    应该有直接安装的方法。

    最终通过上面的方法安装了ruby-macho 2.5.1

    相关文章

      网友评论

          本文标题:dyld: Library not loaded: @rpath

          本文链接:https://www.haomeiwen.com/subject/tyijsrtx.html