
-
首先创建静态库文件
创建好之后,可以把自己项目中所调用别的静态库文件拖到项目中,别忘了勾选项目调用
image.png
现在项目是包含别的静态库,以及现在还是红色的自己所创建的静态库
image.png
目前我做的是,把别的静态库所包含的.h全部公开,里面的bundle,也就是存放资源文件的地方,是无法包含到静态库的, 我所做的是复制到你所创建的静态库项目里,这个稍后会有截图。
现在要做的是把项目中的所有用到的.h公开。
image.png
我这里是直接在这里添加头文件了,也可以添加新的header方法里面公开.h文件
这是点击+号添加项目中你调用别的静态库公开的.h,
image.png
现在就是编译一下真机版本的.a和模拟器版本的.a,分别选择模拟器和真机状态下,编译一下项目command+B就会发现,静态库从红色变成黑色可用状态。
image.png
可用看到从之前的红色变成现在黑色可用状态了,选中静态库,点击show in finder
image.png
可以看到这里分别有模拟器和真机版本的静态库文件
image.png
我这里是真机选择复制了真机版本的静态库文件,如果真机模拟器都需要的话,可以在终端用lipo -create "真机.a路径" "模拟器.a路径" -output "合并后的.a路径"就能拿到合并后,适合真机和模拟器版本的.a静态库
这里是我所调用的真机版本的.a库,已经刚公开的头文件
image.png
我们还需要把之前创建静态库,里面调用别的静态库的bundle和授权文件复制到这个项目里面
image.png
好了,现在这里就只有一个我们所创建的.a静态库了,之前创建静态库,所调用的身份证扫描的.a静态库包已经不在这个项目中了
因为,我这里是身份扫描的功能,所以需要info.plist里面调用一下相机权限,否则会崩溃。
image.png
貌似,身份扫描里面有可能会报arm64错误,把这里设置成NO就可以了
image.png
剩下两个配置,就是之前所说的身份证调用所要设置的
image.png
image.png
到此就全部弄好了,在viewController中调用一下,
image.png
image.png
下面这些是身份扫描的代理方法实现,和静态库调用就无关了,当然这些是都应该写到我们创建静态库时候的自己创建的viewController.m里面,然后公开这个viewController.h使用就行了。
image.png
我这里实验,是可以成功扫描身份证的,并返回一个字典里面包含扫描的身份信息。
作者是简书小白,排版和不清楚的可以问我,静态库调用静态库也是刚刚学习,所以,错误的地方大家见谅,大家共同学习哈!
网友评论