iOS 制作静态库(.a文件)(Xcode9)

今天看到群里面又说在说静态库,我看了也手痒痒想自己试试怎么制作的,其实所谓静态库就是把.m给封装起来不让别人看到你是怎么实现的,然后把.h文件暴露出来, 让使用者调用的,通俗点就是我们平时使用的那个只有头文件的 SDK(百度,高德API,支付宝,微信 API 等)
话不多说,下面开始

第一步: 需要新建一个项目
iOS 制作静态库(.a文件)(Xcode9)_第1张图片
屏幕快照 2018-02-24 下午6.02.42.png

刚建好项目 libStaticText.a 是红色的如图
iOS 制作静态库(.a文件)(Xcode9)_第2张图片
屏幕快照 2018-02-24 下午6.05.37.png

第二步:

在StaticText.h 申明方法并在. m 文件中实现
iOS 制作静态库(.a文件)(Xcode9)_第3张图片
屏幕快照 2018-02-24 下午6.08.40.png
iOS 制作静态库(.a文件)(Xcode9)_第4张图片
屏幕快照 2018-02-24 下午6.08.48.png

第三步, 配置下工程

iOS 制作静态库(.a文件)(Xcode9)_第5张图片
737D22C3-5985-409E-9293-78ED87A1116A.png
iOS 制作静态库(.a文件)(Xcode9)_第6张图片
9A16A5C6-9C99-46BD-BF81-3CBD954D9EA0.png

此时在编译下(command+B) StaticText.a 就会变黑了 如图


iOS 制作静态库(.a文件)(Xcode9)_第7张图片
屏幕快照 2018-02-24 下午6.13.53.png

在检查下这里 在之前版本的 xcode 是需要自己添加的目前不需要的
iOS 制作静态库(.a文件)(Xcode9)_第8张图片
18CC2AB8-9343-45D6-906D-8F2B34F385F9.png

第四步 选择 Edit Scheme 选择 Release 在编译下(command+B)


iOS 制作静态库(.a文件)(Xcode9)_第9张图片
屏幕快照 2018-02-24 下午6.17.43.png
iOS 制作静态库(.a文件)(Xcode9)_第10张图片
屏幕快照 2018-02-24 下午6.19.46.png

之后 (这里特别注意一点)需要选择真机和模拟器 分别编译下(command+B)

第五步 我们需要选中 libStaticText.a 然后 Show in finder 可以在 finder 下面看到下面3中(其实应该有4中还有一张真机下的 Debug) 因为 Debug 我们只是测试用的所以我们就需要Release 下面的真机和模拟器就可以了
iOS 制作静态库(.a文件)(Xcode9)_第11张图片
屏幕快照 2018-02-24 下午6.24.03.png

之后在新建个文件夹把Release-iphoneos 和Release-iphonesimulator 装起来

iOS 制作静态库(.a文件)(Xcode9)_第12张图片
屏幕快照 2018-02-24 下午6.30.15.png

第六步 打开终端把Release-iphoneos 和Release-iphonesimulator 里面的. a 文件合并成一个文件

lipo -create /Users/wangyu/Desktop/text/Release-iphoneos/libStaticText.a /Users/wangyu/Desktop/text/Release-iphonesimulator/libStaticText.a -output /Users/wangyu/Desktop/text/libStaticText.a

格式: lipo -create 真机下的.a路径(空格) 模拟器下的.a路径(空格) -output (空格) 合成后的路径及名称 
注意 :空格很重要

就这样之前文件夹下面就会多一个. a 文件


iOS 制作静态库(.a文件)(Xcode9)_第13张图片
屏幕快照 2018-02-24 下午6.30.22.png

第七步 在之前 finder Release 夏敏 copy 一个. h 文件出来和libStaticText.a放一起并拖进你需要的工程中去
iOS 制作静态库(.a文件)(Xcode9)_第14张图片
屏幕快照 2018-02-24 下午6.32.25.png
iOS 制作静态库(.a文件)(Xcode9)_第15张图片
屏幕快照 2018-02-24 下午6.34.51.png

此时你可以看到你制作的静态庫了
iOS 制作静态库(.a文件)(Xcode9)_第16张图片
屏幕快照 2018-02-24 下午6.35.05.png

第八步 需要导入头文件 然后在调用之前的方法能打印出你之前写的就说明成功了("测试静态庫")

#import "StaticText.h"

StaticText *text = [[StaticText alloc]init];
[text sayHello];
iOS 制作静态库(.a文件)(Xcode9)_第17张图片
9222BE57-F3F0-4365-832E-3D21EB6463B8.png

在前面还写了有关静态库静态库FrameWork文件制作方法

你可能感兴趣的:(iOS 制作静态库(.a文件)(Xcode9))