ios开发 c语言打包.a文件,【转】IOS静态库a文件制作流程

原文网址:http://www.jianshu.com/p/3439598ea61f

1.新建Cocoa Touch Static Library工程

1d70ab9e8a1b9fd113da624223b4d2b0.png

新建工程

2.Xcode的参数设置

"Build Active Architecture Only" 设置为"NO"

"IOS Deployment Target" 设置为 "IOS 7.0" ,表示支持IOS7.0以上系统版本的编译

0f5059d8011e48e876d4bc81b77658d1.png

Build Active Architecture Only

068cea28a260550dc5f6e12848101a2d.png

IOS Deployment Target

da3174110868f51da895e8b502565c58.png

Build Phases则使用默认设置

3.头文件添加接口

b1d2197ef8efd69ac5cf06d1a0d29989.png

.h文件添加接口

16a98aed9d32dd638bda37322d7c93e6.png

.m文件代码实现

4.编译生成静态库.a文件

分别选择真机和Iphone6模拟器进行编译

首先找到真机编译成功生成的.a文件,Show In Finder

然后找到Iphone6模拟器编译成功生成的.a文件(在真机目录中command+(向上剪头键)返回上一层文件夹路径)

5c5dd4074905e1bef4f391a60b98410e.png

Show In Finder找到真机编译成功的.a文件

65fb67171df500cb5a72e00a794909b1.png

分别为真机丶模拟器编译成功的.a文件

5.合成通用版的静态库.a文件

使用终端进行合成操作

lipo -create libStaticTest.a(真机.a文件路径) libStaticTest.a(Iphone6模拟器.a文件路径) -output 保存路径/StaticTest.a

4fe91f2e02bae5a54e5ea555b74f596e.png

使用终端进行合成

合成的.a文件(支持IOS7以上系统丶真机以及模拟器)

29b94738f488432e37b6323e821ceb9f.png

合成的通用版静态库文件

6.测试自己制作的静态库文件

将.h以及合成的通用版.a文件导入测试工程中,实现.h提供的接口.

e9f8aef33ba34a7e58bf99e5d10274b6.png

测试成功

文/iGeekXi(简书作者)

原文链接:http://www.jianshu.com/p/3439598ea61f

著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

iOS静态库.a文件制作和导入使用

iOS静态库.a文件制作: 1.新建Cocoa Touch Static Library工程 新建工程 - 选择iOS-FrameWork&Libary,选择 Cocoa Touch Stat ...

iOS中静态库-.a文件生成和使用

最近在使用使用一个网上的Demo的时候. 出现另一令人烦恼的问题 . 就是它里面有嵌套的工程. 如下图所示. 工程里面还嵌套有一个工程. 真的是让人煞费苦心 …其实这个问题看起来并不是很难, 如果是一 ...

iOS静态库的制作与引用

[iOS静态库的制作与引用] 1.Configuring Exported Headers To configure which headers are exported to clients, se ...

判断IOS静态库(.a文件)是否支持模拟器和真机运行

判断IOS静态库(.a文件)是否支持模拟器和真机运行 在mac终端下,进入到.a文件目录下,然后输入: lipo -info libMyAlertView.a Architectures in the ...

iOS 打包静态库.a文件(真机版 + 虚拟机)

我们以打包IOS开发中封装的高地地图基础功能包 GDMap为例. 1>我们需要准备好需要打包的GDMap     2>接下来我们开始新建一个工程文件取名GDMap     3>删掉无 ...

iOS如何查看静态库.a文件支持的cpu类型

打开终端: 输入 lipo -info 然后将你要查看的静态库.a 文件找到,拖入 -info 后边.假设路径为A,即为 lipo -info A 回车键,然后就会看到静态库是否支持 armv7,ar ...

iOS - 静态库的导入和头文件路径的设置

开发过程中,免不了要用到一些第三方或者是别人写好的一些Demo,这时就经常会用到别人写的一些静态库(.a文件)和n多个头文件(.h文件),这些文件不是简单地把它们拉到自己的工程里面就行的,还要设置一些 ...

iOS静态库小结--(yoowei)

准备知识: 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.根据源代码的公开情况,库可以分为2种类型 a.开源库 公开源代码,能看到具体实现 ,比如SDWebImage.AFNetw ...

iOS静态库.a总结(2017.1.24增加脚本打包方法)

修改于:2017.1.24 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.根据源代码的公开情况,库可以分为2种类型 a.开源库 公开源代码,能看到具体实现 ,比如SDWebImag ...

随机推荐

读《linux内核完全注释》的FAQ

以下只是个人看了的一点理解,如果有错误,欢迎指正! 1 eip中保存的地址是逻辑地址.线性地址还是物理地址? 这个应该要分情况.eip保存的是下一条要执行的指令地 ...

配置Tomcat使用https协议

一.  创建tomcat证书 这里使用JDK自带的keytool工具来生成证书: 1. 在jdk的安装目录\bin\keytool.exe下打开keytool.exe 2. 在命令行中输入以下命令: ...

HB制作的app版本更新

wgt下载成功,安装的时候报wgt包中的manifest.json文件的version必须要大于当前版本,所以每次提交wgt资源包的时候一定要记得大于当前的版本号

Grid行编辑插件

//操作列不显示应该就是autoLoad的问题.         Ext.onReady(function () {             Ext.BLANK_IMAGE_URL = "E ...

vs的watch使用

VC调试器高级应用----WATCH窗口篇 一.格式化数据和表达式赋值语句. 常用变量格式化符(表达式的值后跟逗号,接格式化符,如"(int)0xFFFF,d"):d  :有符号的 ...

应用程序入口 WSGIHandler

Django 源码小剖: 应用程序入口 WSGIHandler WSGI 有三个部分, 分别为服务器(server), 应用程序(application) 和中间件(middleware). 已经知道 ...

spring注解第07课 @Valid和@Validated的总结区分

@Valid: @Valid注解用于校验,所属包为:javax.validation.Valid. ① 首先需要在实体类的相应字段上添加用于充当校验条件的注解,如:@Min,如下代码(age属于Gir ...

pl-svo代码解读

pl-svo是在svo的基础上结合点和线特征的半直接法视觉里程计 程序启动通过app文件夹下的run_pipeline.cpp主程序启动,其它的函数文件统一放在src文件夹下,我们先从run_pipe ...

DG搭建方式区分

DG搭建三种方式: 一.异机恢复,restore database,recover database 二. duplicate target database for standby from act ...

Sqlite和Mysql和SqlServer中insert … select … where not exist的用法

下面介绍Mysql和Sqlite和Sqlserver中,根据select的条件判断是否插入.例如: 一.Mysql中: INSERT INTO books (name) SELECT 'SongXin ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值