iOS中打包.a静态库
来源:互联网 发布:ug车削编程检查几何体 编辑:程序博客网 时间:2024/04/29 17:02
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.测试静态库
新建工程,将libEncryption.a
和Encryption.h
文件拖入工程(注意,此处libEncryption.a
是上图合并生成后的,不可将Product文件夹下面的libEncryption.a
直接拖过来,否则因为路径问题模拟器编译会报错),如下图:
在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中打包.a静态库
- iOS中打包.a静态库
- iOS中打包.a静态库
- iOS中打包.a静态库
- iOS 静态库a文件的打包 中
- iOS 打包静态库.a文件
- iOS打包成.a静态库
- 【iOS开发】打包静态库.a文件
- 【iOS开发】打包静态库.a文件
- 【iOS开发】打包静态库.a文件
- iOS打包.a静态库步骤
- ios静态库.a文件打包
- iOS打包静态库.a文件
- iOS打包.a静态库步骤
- IOS打包.a静态库 .a内外控制器UIViewController跳转
- iOS静态库中打包图片资源
- iOS静态库中打包图片资源
- iOS静态库中打包图片资源
- hdu 1728 逃离迷宫
- JS中String()与new String()的差异浅析
- 导入项目启动报错Unexpectedexception parsing XML document from file[H:\software\apache-tomcat-7.0.77\webapps\
- Q&A——性能优化(二)
- android 自动拨打电话和挂断电话(反射和intent方式)
- iOS中打包.a静态库
- Java 导出Excel 和 打包导出
- 善用 PHP-FPM 的 slow log 分析问题
- css 教程
- 怎么判断一个构造函数有多少个实例
- 查询产生临时表的调优
- Android Animation 动画介绍和实现
- 在构造函数中需要初始化列表初始化的有如下三种情况
- AtCoder2341