文档章节

iOS 封装静态库(.a文件)

珲少
 珲少
发布于 2015/04/11 11:58
字数 398
阅读 581
收藏 3

iOS中导入外部文件,一种是将源码导入,一种是导入静态库,有很多第三方库都是以静态库的形式提供给我们使用的,如何制作一个静态库呢?

一、xCode创建文件时,选择创建静态库文件:cacoaTouchStaticLibrary

创建完成后,我们在里面写我们的方法和实现:

.h文件和.m文件

#import <Foundation/Foundation.h>
@interface MyStaticLibrary : NSObject
-(void)myLog;
@end
#import "MyStaticLibrary.h"
@implementation MyStaticLibrary
-(void)myLog{
    NSLog(@"myLog");
}
@end

二、生成静态库文件:
这里需要将设备选成IOS Device

然后 使用command+B进行编译,如果xcode报出这样的一个错误:

我们需要在Peoject->Code Signing ->Code Signing Identity 改成IOS Developer

再次编译,成功。然后你会看到,Products中的.a文件由红色编程了黑色。我们右键show in finder,就可以看到编译成功的静态库文件了。

三、合并静态库

在文件夹中,我们看到有两个.a文件,分别用在模拟器调试和真机调试中,如果我们在开发时需要真机模拟器不停的切换,我们可以将这两个静态库文件合并成为一个:

在终端使用:lipo -create  -output 命令:

这时,我们的静态库文件就做好了。

三、静态库文件的使用:

将.a和.h文件导入工程,在需要的文件中导入头文件,即可使用。

专注技术,热爱生活,交流技术,也做朋友。

——珲少 QQ群:203317592

© 著作权归作者所有

珲少

珲少

粉丝 886
博文 394
码字总数 475753
作品 0
上海
程序员
私信 提问
IOS 入门开发之使用Xcode4制作静态库详解(五)

IOS 入门开发之使用XCODE4制作静态库详解 雨松MOMO原创文章如转载,请注明:转载自雨松MOMO的博客原文地址:http://blog.csdn.net/xys289187120/article/details/7283763 注意:首先确保你的X...

彭博
2012/03/09
1K
0
xcode 制作静态库.a文件 详解

https://blog.csdn.net/pjk1129/article/details/7255163 最近在做Apple的IOS开发,有开发静态库的需求,本身IOS的开发,只允许静态库或者Framework。在Xcode上没有找到允许编译,如同Andro...

壹峰
2018/05/10
60
0
xcode合并模拟器和真机静态库的编译

最近在做Apple的IOS开发,有开发静态库的需求,本身IOS的开发,只允许静态库或者Framework。在Xcode上没有找到允许编译,如同Android上的*.so和Win32上的dll这样的说法。不过Framework这样的...

AmoyAI
2013/03/02
3.8K
1
iOS开发之Xcode打包framework

下文是转载,本人觉得这个打包framework还是一个比较重要的功能,可以用来做一下事情: (1)封装功能模块,比如有比较成熟的功能模块封装成一个包,然后以后自己或其他同事用起来比较方便。...

阿里阿力
2014/01/28
4.5K
0
深入iOS系统底层之静态库介绍

少长咸集,群贤毕至。--《王羲之・兰亭集序》 目标文件 目标文件结构 程序员编写的是源代码,而计算机运行的则是CPU能识别的机器指令,因此必须要有一系列工具或程序来将源代码转化为机器指令...

欧阳大哥2013
02/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

川普给埃尔多安和内堪尼亚胡的信

任性 https://twitter.com/netanyahu/status/1186647558401253377 https://edition.cnn.com/2019/10/16/politics/trump-erdogan-letter/index.htm...

Iridium
15分钟前
7
0
golang-mysql-原生

db.go package mainimport ("database/sql""time"_ "github.com/go-sql-driver/mysql")var (db *sql.DBdsn = "root:123456@tcp(127.0.0.1:3306)/test?charset=u......

李琼涛
43分钟前
4
0
编程作业20191021092341

1编写一个程序,把用分钟表示的时间转换成用小时和分钟表示的时 间。使用#define或const创建一个表示60的符号常量或const变量。通过while 循环让用户重复输入值,直到用户输入小于或等于0的值...

1李嘉焘1
44分钟前
6
0
Netty整合Protobuffer

现在我们都知道,rpc的三要素:IO模型,线程模型,然后就是数据交互模型,即我们说的序列化和反序列化,现在我们来看一下压缩比率最大的二进制序列化方式——Protobuffer,而且该方式是可以跨...

算法之名
49分钟前
18
0
如何用C++实现栈

栈的定义 栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压...

BWH_Steven
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部