iOS开发中打包.a静态库教程
程序员文章站
2022-03-08 15:22:24
1.新建.a静态库工程
需要选择Static Library静态库工程模板新建工程,如下图:
新建静态库工程
实现需要打包的类,如下图:
实现需要打包的类...
1.新建.a静态库工程
需要选择Static Library静态库工程模板新建工程,如下图:
新建静态库工程
实现需要打包的类,如下图:
实现需要打包的类
2.设置需要暴露的头文件
添加Headers, 步骤为:TARGET->Build Phases ->点+号->New Headers Phase,如下图:
然后找到Heaers(0 items)一栏, 点+号添加头文件, 如下图:
接着添加需要公开的头文件Encryption.h, 如下图:
添加完成后, Encryption.h会出现在Project一栏中, 需要手动拖入Public一栏中进行公开, 如下图:
拖入后, Public中的头文件就是公开的头文件了, 如下图:
3.设置Scheme
选择Edit Scheme,如下图:
选择Debug模式,如下图:
4.编译模拟器版本的.a静态库
选择模拟器,如下图:
选择模拟器后开始编译,编译成功后,Products中的libEncryption.a会由红色变为黑色,如下图:
5.编译真机版本的.a静态库
选择真机,如下图:
选择真机后开始编译,编译成功后,Products中的libEncryption.a也会由红色变为黑色.
6.合并模拟版本和真机版本的静态库
选择libEncryption.a,右键选择Show in Finder,如下图:
进入Finder后,可以看到编译后的模拟器和真机版本的.a静态库,如下图:
打开终端,使用命令行进行版本合并,具体格式为:
lipo -create "真机版本.a静态库路径" "模拟器版本.a静态库路径" -output "合并后的.a静态库路径"
注意中间要有空格.
在终端中输入命令行,如下图:
终端执行成功后会生成一个合并版本的.a静态库,如下图:
7.测试静态库
调试窗口成功输出打印信息,如下图:
至此,.a静态库制作完毕!
需要选择Static Library静态库工程模板新建工程,如下图:
新建静态库工程
实现需要打包的类,如下图:
实现需要打包的类
2.设置需要暴露的头文件
添加Headers, 步骤为:TARGET->Build Phases ->点+号->New Headers Phase,如下图:
然后找到Heaers(0 items)一栏, 点+号添加头文件, 如下图:
接着添加需要公开的头文件Encryption.h, 如下图:
添加完成后, Encryption.h会出现在Project一栏中, 需要手动拖入Public一栏中进行公开, 如下图:
拖入后, Public中的头文件就是公开的头文件了, 如下图:
3.设置Scheme
选择Edit Scheme,如下图:
选择Debug模式,如下图:
4.编译模拟器版本的.a静态库
选择模拟器,如下图:
选择模拟器后开始编译,编译成功后,Products中的libEncryption.a会由红色变为黑色,如下图:
5.编译真机版本的.a静态库
选择真机,如下图:
选择真机后开始编译,编译成功后,Products中的libEncryption.a也会由红色变为黑色.
6.合并模拟版本和真机版本的静态库
选择libEncryption.a,右键选择Show in Finder,如下图:
进入Finder后,可以看到编译后的模拟器和真机版本的.a静态库,如下图:
打开终端,使用命令行进行版本合并,具体格式为:
lipo -create "真机版本.a静态库路径" "模拟器版本.a静态库路径" -output "合并后的.a静态库路径"
注意中间要有空格.
在终端中输入命令行,如下图:
终端执行成功后会生成一个合并版本的.a静态库,如下图:
7.测试静态库
新建工程,将libEncryption.a和Encryption.h文件拖入工程,如下图:
在ViewController.m引入Encryption.h头文件,调用Encryption.h暴露出来的加密方法,ViewController.m中代码如下:#import "ViewController.h" #import "Encryption.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //调用Encryption中的加密方法 NSLog(@"-----%@", [Encryption md5EncryptWithString:@"hello"]); } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
调试窗口成功输出打印信息,如下图:
至此,.a静态库制作完毕!
推荐阅读
-
iOS开发的UI制作中动态和静态单元格的基本使用教程
-
iOS的UI开发中UITabBarControlle的基本使用教程
-
IOS编程开发中开发者账号申请教程
-
iOS开发中手机版本号、序列号、应用名称等相关字段获取教程
-
iOS开发中CALayer使用的基本教程
-
ios开发中React Native 集成分享与第三方登录功能模块开发教程
-
iOS开发之OC与swift开发混编教程,代理的相互调用,block的实现。OC调用Swift中的代理, OC调用Swift中的Block 闭包
-
iOS编程开发中pageController界面开发教程
-
IOS开发教程第一季之UI基础day9合并IOS学习009仿QQ界面(UITableView静态单元格)、仿QQ好友列表
-
在VS2015中导入/创建静态库并使用静态库【VS+Qt项目开发系列】