iOS 打包Framework静态库
需求是发代码给客户看,但不让他们修改
我没有选择打成.a 全做成了framework,因为我们是纯粹不让别人修改源码 下面看教程
1、准备好你的要做静态库的文件和资源(保证这些代码编译不能报错 报错麻烦在改一遍后面)
2、创建制作静态库的项目

3、修改一下兼容的iOS版本

4、创建好之后把要做成库的文件都放进来

5、配置Linking

6、配置Architectures 添加呵armv7s


7、配置头文件是否展示

8、打包FrameWork
1、选择模拟器 编译项目成功 自动生成一个适用于模拟器的.framework;
2、选择真机编译项目成功 自动生成一个适用于真机的.framework;

9、合成适配模拟器和真机的framework
刚才两次编译成功路径打开之后 ,打开终端按如下命令合成:lipo -create 真机下的路径 模拟器下路径 -output 合成之后存放的路径
注意:合成之后存放的路径跟一个库名字,比如我的本地存放路径是/Users/liuli/Documents/hello, 在终端合成的时候 -output后面就这么写,比如我的framework名字是ThirdF :
/Users/liuli/Documents/hello/ThirdF
例子:
体现在终端里面是这样的:lipo -create /Users/liuli/Library/Developer/Xcode/DerivedData/ThirdF-ccoskboijudewyfnpkykiwlouwos/Build/Products/Debug-iphoneos/ThirdF.framework/ThirdF /Users/liuli/Library/Developer/Xcode/DerivedData/ThirdF-ccoskboijudewyfnpkykiwlouwos/Build/Products/Debug-iphonesimulator/ThirdF.framework/ThirdF -output /Users/liuli/Documents/hello/ThirdF

合成成功如图所示:
image.png
然后用这个新的去替换掉Debug-iPhoneos下的对应的文件即可,替换之后 Debug-iPhoneos里面的这个ThirdF.framework就是做好的库,拖入到你的项目就可以用了,此时导入头文件只需要#import <ThirdF/ThirdF.h>
