• ios dyld: Library not loaded: @rpath/xxx.framework/xxx 之根本原因


    碰到问题

    dyld: Library not loaded: @rpath/xxx.framework/xxx

      Referenced from: /var/containers/Bundle/Application/0F41980D-5091-449D-AE29-5D018E3EB554/DemoOC.app/DemoOC

      Reason: image not found

      enable Always Embed Swift Standard Libraries option under Build Options,之后依然出现

    尝试网上的各种办法都无效,得从根本上解决问题,查看build settings -> linking ->runpath search path为

    @executable_path/Frameworks

    再看Products生成的app ,显示包内容 Frameworks文件夹下确实没有xxx.framework.

    而且查看xcode升级之前的工程,app包的Frameworks中有xxx.framework.

    难怪运行时找不到库,那么根本办法是如何让xxx.framework编译到这个文件夹下。

    实验1:新建一个swift 工程引用xxx.framework。依然碰到同样的问题,包内容Frameworks中没有xxx.framework

    发现xcode升级前的工程Build Phases有Embed Frameworks这一项,而升级后新建的工程都没有这个了。贼坑。。。。

    Linked Binary With Libraries 与  Embedded Framework的区别:前者不会拷贝到 App 里的,Embedded Framework会拷贝到 App 里。

    General 下找到了Embed Frameworks ,添加xxx.framewok之后,OK了!!

    而且也不需要enable Always Embed Swift Standard Libraries

  • 相关阅读:
    前端代码规范
    AD 对联
    leaflet 入门笔记
    在Mac OS X上安装Git
    在Mac上开启C的新征程
    Python编程基础
    GitHub的使用(Git Shell)
    《网页设计心理学》Susan M.Weinschenk 小结精粹
    【问题】做图片验证码时乱码了,在header前加上ob_clean()就能神奇的显示?!
    --allow-file-access-from-files 命令的使用
  • 原文地址:https://www.cnblogs.com/mlj318/p/6690294.html
Copyright © 2020-2023  润新知