制作了一个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以后的版本做法
遇到、解决、记录、分享~~~
网友评论