.a + .h + sourceFile = .framework。 复制代码
咱们直接建立调试项目,通常不直接建立静态库。由于须要打断点,等调试成功后再打包相应的静态库。git
建立项目,而且在项目中添加 static library
,最终以下图所示。github
Build Phases --> Copy Files 添加.h文件便可。bash
设置支持全部模拟器架构 Build Settings --> Build Active Architecture Only
--> Debug 改成 NO,设置支持全部手机架构。markdown
选中Print
Target,而后分别选择Generic iOS Device
和任意一个模拟器
各编译一次,编译完后,咱们会看到工程中Products文件夹下的libPrint.a
由红色变成了黑色,而后show in finder,看看生成的文件。架构
lipo-info + 静态库名字
命令查看静态库支持的框架。lipo -create 第一个.a文件的绝对路径 第二个.a文件的绝对路径 -output 最终的.a文件路径
。framework项目默认是动态库。 静态库配置:Build Settings --> Mach-O Type --> 改成 Static Library
。 设置支持全部模拟器架构 Build Settings --> Build Active Architecture Only
--> Debug 改成 NO,设置支持全部手机架构。框架
编写完代码后,Build Phases --> Headers --> public
添加头文件。oop
选中LibTest
Target,而后分别选择Generic iOS Device
和任意一个模拟器
各编译一次,编译完后,咱们会看到工程中Products文件夹下的LibTest.framework
由红色变成了黑色,而后show in finder,看看生成的文件。ui
lipo -info framework下的二进制文件名字
命令查看静态库支持的框架。lipo -create 第一个framework下二进制文件的绝对路径 第二个framework下二进制文件的绝对路径 -output 最终的二进制文件路径
。注意: 若是静态库中有category
类,则在使用静态库的项目配置中Other Linker Flags
须要添加参数-ObjC
或者-all_load
。spa
github: github.com/CaoXueLiang…调试