制作静态库

新建工程,点击下图中的加号:

选择Cocoa Touch Static Library:

点击next,起名字,点击finish后target栏会出现刚才新建的lib:

来到Xcode为我们自动创建好的头文件,如果不想要也可以删掉自己重新新建文件,写一个测试方法:

demoLib.h:

+ (void)printCurrentTime;

demoLib.m:

+ (void)printCurrentTime {
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSLog(@"当前时间是:%@", [formatter stringFromDate:[NSDate date]]);
}

写好之后选择demoLib,点击Edit Scheme…:


选择run,把Build Configuration改成Release,因为这样Xcode会编译支持各个架构的静态库版本,否则只会编译支持当前架构的静态库版本:



点击close之后貌似不用手动run也不用手动build,Xcode已经自动为我们编译好了静态库,印象中以前是要手动build一下的来着:


点击Show In Finder查看,会有四个版本,分别是:

  • Debug-iphoneos

  • Debug-iphonesimulator

  • Release-iphoneos

  • Release-iphonesimulator
    分别对应在Debug和Release下的模拟器和真机。
    查看不同版本的静态库支持的架构,可以cd到对应的目录下,使用
    lipo -info 静态库名称指令,上述release版本支持的架构分别是

  • Release-iphoneos :armv7、arm64:


    Release-iphoneos
  • Release-iphonesimulator:i386、x86_64


    Release-iphonesimulator

接下来就是静态库合并了,你不可能发两个不同版本的静态库给人家用把,合并用到的指令是:lipo -create 静态库a 静态库b -output 合并后的静态库名称

这就是合并好的新的静态库:


合并后的静态库

可见合并后的静态库已经支持以上所有的架构了:



接下来,开开心心的新建一个文件夹,把合并后的静态库和include文件夹放进去,甩给同事用吧,微微一笑,深藏功与名。

如果有错误的地方,恳请指出,一起学习一起进步。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 知识普及: 什么是库? 库是程序代码的集合,是共享程序代码的一种方式 根据源代码的公开情况,库可以分为 2 种类型...
    KYM1988阅读 4,589评论 3 0
  • 一、简单介绍 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的分类 根据源代码的公开情况,库...
    nemoispretty阅读 1,810评论 0 0
  • 1.新建工程,选择如下: 2.新建的工程中会有两个文件XXX.h 和 XXX.m,在XXX.m中随便输入一段代码,...
    LuxDark阅读 5,225评论 2 2
  • 这个冬季,两个城市,似乎都有我穿梭的身影,模糊不清的是我内心最痛苦的回忆。 做人真的该有原则,无论多么不幸,都...
    Diem阅读 1,576评论 0 0
  • “人是天生的行走者,一生都在路上,即使身体没有在路上,思想也在路上。” 那么,你一直在路上吗?还是常常觉得自己习惯...
    往往以往阅读 1,648评论 1 2

友情链接更多精彩内容