iOS--macOS引用dylib(補充)

製作了一個dylib,給他人使用!

一、步驟和正常的ios引用第三方靜態庫.a基本一致

1,導入dylib和對應的.h頭文件

2,確定build phases和General引入了該動態庫

3,在對應的需要的dylib的文件中引用頭文件,調用方法


二、需要注意點

1,dylib打出來的包,有個默認執行路徑,通常是放在/usr/local/lib文件夾中

2,也就是說如果你修改該執行路徑,引用該dylib的APP回去/usr/local/lib中尋找該dylib,如果沒有會報錯,編譯失敗。

dylib:/usr/local/lib.xxx.dylib not found

這種情況下用兩種處置方法,一種最笨的就是手動將引用的dylib導入/usr/local/lib文件夾中

另外一種則是:修改dylib的執行路徑,執行命令行

otool -L xx/xxx/xx.dylib 

查看當前dylib的執行路徑

install_name_tool -id your_changed_filepath xx/xxx/xx.dylib

命令修改dylib執行路徑

其中your_changed_filepath你要修改的路徑,確定該dylib會放置在該路徑下

xx/xxx/xx.dylib表示你當前要修改執行路徑的動態庫

注:執行完後,可以用otool -L 查看一下是否真正修改

your_changed_filepath最好選用相對路徑,因爲絕對路徑可能僅在你的電腦上能夠使用。

3,在導入dylib後,設置完路徑。如果是相對路徑@executable_path/../Frameworks/xxx.dylib那麼就要在General的Frameworks,Libraries,and Embedded Content中Embed修改一下設置

默認的Embed是Do Not Embed,要修改成Embed With Signing或者Embed Without Signing

這是Xcode的11.0以後的版本做法

遇到、解決、記錄、分享~~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章