升级xcode10 framework报错

升级XCODE10后,开发framework一切照旧,轻车熟路,飞奔起来。麻利的把生成的framework添加到自己的demo里面,按下commad+r,却没有像预期的那样跑起来,而是还给我一个闪退,真是大水冲了龙王庙。耐心的看了一下提示

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

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

  Reason: image not found

enableAlways Embed Swift Standard Librariesoption underBuild Options,之后依然出现


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

@executable_path/Frameworks

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

查看之前开发的其他库的demo工程,app包的Frameworks中有xxx.framework.

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

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

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

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

而且也不需要enableAlways Embed Swift Standard Libraries。

你可能感兴趣的:(升级xcode10 framework报错)