碰到問題
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