iOS开发:打包.a静态库文件的步骤

       iOS开发过程中,有些时候需要生成打包.a静态库,然后拖入到项目中使用,尤其是有时候引入的一些C++编译过的第三方文件就会引起编译错误的提示,解决这种问题的方法很简单,就是把这些三方的文件打包生成.a静态库文件,这样就解决了OCC++混编引起的错误,这种解决问题的原理是.a静态库文件时编译好的二进制文件,二进制文件与二进制文件相互混编肯定没有什么问题。

       一般情况下,打包.a静态库的大概步骤分为七步分:生成创建静态库、实现需要使用的类、设置公开类的.h文件、编译打包模拟器静态库、编译打包真机静态库、合并模拟器和真机编译好的静态库、拖入需要使用的项目中测试静态库。那么下面就分模块讲解打包.a静态库文件的步骤了。

      一、生成创建静态库

1.打开Xcode,选择Create a new Xcode project新建项目,或者在已打开项目工程的情况下点击Xcode,使用快捷键command+shit+n创建新的项目;

2.创建新的项目时候,在选择类型的里面,选择iOS-->Framework&Library-->Coaoa Touch Static Library,然后点击Next即可。

iOS开发:打包.a静态库文件的步骤_第1张图片

iOS开发:打包.a静态库文件的步骤_第2张图片

iOS开发:打包.a静态库文件的步骤_第3张图片


      二、实现需要使用的类

1.创建静态库之后,把你想要打包成静态库的类文件都拖入到这个项目工程里面,然后把创建项目自动生成的那个类如果没有需要就把它直接删除即可;

2.如果拖入整个文件夹进去,文件夹里面的所有类文件都要放在处于一级目录下面,尽量还是不要直接拖入文件夹,一般全选所有的类文件拖入即可。

iOS开发:打包.a静态库文件的步骤_第4张图片

      三、设置公开类的 .h 文件

1.公开类的.h文件就需要添加Headers这个选项,具体步骤为:项目的TARGET-->Build Phases-->点击“+”号-->New Headers Phase
2.然后找到刚才新加的Headers子目录下面的那个"+",点击“+”号添加所有需要公开的类的.h头文件;
3.添加完所有需要公开的类的.h头文件之后,这些头文件都是处在Headers里面的Project子目录下,需要手动全选这些头文件直接拖入到上部的Public子目录下面。

4.把类的.h文件全部拖入到Public里面之后,就成功设置为公开的头文件了。

iOS开发:打包.a静态库文件的步骤_第5张图片

iOS开发:打包.a静态库文件的步骤_第6张图片

iOS开发:打包.a静态库文件的步骤_第7张图片

iOS开发:打包.a静态库文件的步骤_第8张图片

iOS开发:打包.a静态库文件的步骤_第9张图片

iOS开发:打包.a静态库文件的步骤_第10张图片

iOS开发:打包.a静态库文件的步骤_第11张图片


      四、编译打包模拟器静态库

1.打包编译之前需要配置一下工程文件,设置Scheme,有两个进入设置的方法,方法一:Xcode顶部菜单栏里面找到Product-->Scheme-->Edit Scheme...,找到Run-->Info里面-->Build Configuration里面选择Debug模式,选择之后点击Close;方法二:从Xcode里面直接进入,Edit Scheme...,找到Run-->Info里面-->Build Configuration里面选择Debug模式,选择之后点击Close即可。

2.设置完Scheme之后,在项目运行程序类型选项里面,选择模拟器模式,然后使用快捷键command+b编译打包模拟器静态库;

3.编译成功之后,Products中的.a文件会由红色变成黑色,这就说明编译打包的模拟器静态库打包成功。

iOS开发:打包.a静态库文件的步骤_第12张图片

iOS开发:打包.a静态库文件的步骤_第13张图片

iOS开发:打包.a静态库文件的步骤_第14张图片

iOS开发:打包.a静态库文件的步骤_第15张图片


      五、编译打包真机静态库

1.上部分模拟器静态库打包编译成功之后,仍然在项目运行程序类型选项里面,选择真机模式,然后依然使用快捷键command+b编译打包真机静态库;

2.编译成功之后,Products中的.a文件会由红色变成黑色,这就说明编译打包的真机静态库打包成功。

iOS开发:打包.a静态库文件的步骤_第16张图片


      六、合并模拟器和真机编译好的静态库

1.上部分真机静态库打包成功之后,在Producets里面,用鼠标单击选中右键,Show in Finder显示文件位置,然后打开编译后的模拟器和真机的.a静态库文件的位置;

2.你在Products文件了里面可以看到两个文件夹,Debug-iphoneos是真机的静态库文件位置,Debug-iphonesimulator是模拟器的静态库文件位置,然后打开电脑终端;

3.在电脑终端里面,使用命令行的方式合并模拟器静态库和真机静态库文件,具体的命令行格式为:lipo -create "真机的.a静态库路径" "模拟器的.a静态库路径" -output "合并后的.a静态库路径"  这里需要特别注意两点:真机静态库路径 和 模拟器静态库路径之间的空格,合并后的静态库名字要和模拟器和真机静态库的名字一致。)

4.如果以上操作没有出错,终端会在你指定的文件夹下生成一个合并版的.a静态库,找到你指定合并后的.a静态库存放位置,把合并之后的.a静态库拷贝出来。

iOS开发:打包.a静态库文件的步骤_第17张图片

iOS开发:打包.a静态库文件的步骤_第18张图片

iOS开发:打包.a静态库文件的步骤_第19张图片

iOS开发:打包.a静态库文件的步骤_第20张图片

iOS开发:打包.a静态库文件的步骤_第21张图片


      七、拖入需要使用的项目中测试静态库

1.打开你想要使用.a静态库的项目,然后把你刚才复制出来的合并之后的.a静态库和所有的生成打包之后的类的.h文件都拖入到项目中;

2.然后command+b看看是否报错,然后进行配置修改,一般没有问题,但是不排除你的文件拖入项目之后提示找不到的问题,自行排查一下即可;

3.然后在你需要使用的具体地方,引入需要使用的.h文件,然后进行测试使用即可。到此,.a静态库的制作介绍完了。

iOS开发:打包.a静态库文件的步骤_第22张图片

iOS开发:打包.a静态库文件的步骤_第23张图片

iOS开发:打包.a静态库文件的步骤_第24张图片



       到此为止,生成.a静态库文件的步骤就全部结束了,同时也是本人2017年写的最后一篇博客,要想了解更多分享知识,咱们来年继续探讨交流,本人微信公众号也会不间断更新不同技术分享,欢迎大家关注!

iOS开发:打包.a静态库文件的步骤_第25张图片



你可能感兴趣的:(iOS开发)