美文网首页
Library not loaded: @rpath/App.f

Library not loaded: @rpath/App.f

作者: 今天写明天改 | 来源:发表于2022-01-29 14:26 被阅读0次

    介绍

    本来想写个标题,想了一下,没有什么比直接贴这个错误信息更好的方式了。
    最近正在处理Flutter的集成。写好flutter代码之后,准备开始运行,例行的看了下我的git改动。嗯?有几个工程文件改动不认识,不是我的改动,于是discard掉,点击运行。程序直接崩溃。我改了什么?怎么办?。唯一有的报错就是

    Library not loaded: @rpath/App.framework/App
    

    错误解决过程

    错误解决尝试

    我的错误解决过程包括但不限于:

    1. 工程设置VALIDATE_WORKSPACE = YES;
    2. 执行flutter clean
    3. 执行flutter build iOS
      这里额外有个小的注意事项,刚开始我以为这个是要构建一个iOS应用。但并不是,这是用来构建MacOS的iOS应用--也就是运行于MacOS的模拟器。 官方解释如下:
    Usage: flutter build <subcommand> [arguments]
    -h, --help    Print this usage information.
    Available subcommands:
      ios             Build an iOS application bundle (Mac OS X host only).
      ios-framework   Produces .xcframeworks for a Flutter project and its plugins
                      for integration into existing, plain Xcode projects.
    

    如果你使用了flutter build iOS 就会得到

     Building for iOS, but the linked framework 'App.framework' was built for macOS.
    

    希望有同样问题的小伙伴绕过这个坑。

    1. 将项目clean build folder
    2. 升级cocoaPod到最新版
    3. 重新安装Xcode: 没错。我把Xcode都重新安装了:(

    错误历程

    也是在网上搜一顿搜索,毫无头绪、历时整整一天。试一个方案就运行一次。然后崩溃一下。沮丧。

    正确解决方案

    终于到了今天中午,遇到了曙光。感谢kxifenger提供的解决方案https://github.com/flutter/flutter/issues/92896
    按照方案的说法是:
    在我们的Pods工程里有一个Targets Support Files的文件夹,其中有一个Pods-Project Name-frameworks.sh的文件。在文件里会有install的配置

    if [[ "$CONFIGURATION" == "Debug" ]]; then
      install_framework "${PODS_ROOT}xx.framework"
    fi
    if [[ "$CONFIGURATION" == "Release" ]]; then
      install_framework "${PODS_ROOT}xx.framework"
    fi
    

    在这里我们需要增加对App.framework"的安装,格式如上面所说,路径是自己的路径。
    之后,执行

    pod install
    

    结语

    当APP在其运行起来的时候,真是太开心了:) ,同时。再次感悟:千万千万不要看见某个不认识的代码就删了。尤其是我这个删了马上就忘记删了什么的行为,删一下几秒钟,然后痛苦一整天,反面教材,希望大家引以为戒。

    相关文章

      网友评论

          本文标题:Library not loaded: @rpath/App.f

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