zoukankan      html  css  js  c++  java
  • iOS中打包.a静态库

    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.aEncryption.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静态库制作完毕!

    参考链接: http://www.jianshu.com/p/add59ec093b6

  • 相关阅读:
    Java Web 项目学习(二) 发送邮件
    Java Web 项目学习(一) 项目调试与版本控制
    org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement
    拓扑排序
    Java中的<< 和 >> 和 >>>
    Java Web 项目学习(一) Spring MVC 入门
    Java Web 项目学习(一) Spring 入门
    oracleDBA-D1
    Linux运维(3年以内)
    数据库DBA(3年以内需求)
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/8137147.html
Copyright © 2011-2022 走看看