iOS静态库打包
当了三年多程序员,第一次写随便,说来有些惭愧。想成为一个优秀的程序员,分析,思考,总结并且做记录是必不可少的,今天先从简单的命令总结记起。好了,废话不多说了,Let's start our games!
有时候,我们需要把我们开发的产品,插件打包成一个静态库(.a文件)供用户使用,怎么建立一个静态项目,这里暂时不做讨论。
项目开发完成之后,选择真机调试。

编译项目(Command+B)成功之后,项目的Products文件夹里的xxxEngine.a会变成黑色,证明已经成功生成.a静态库文件。右键它→Show in Finder,我们会找到它的路径位置,再加上我们公开的header(.h文件),放在一个文件夹里,这也我们就成功开发出来一套帅气的,传说中的第三方插件。
在我美了两分钟之后,我觉定试试刚开发好的插件。新建一个Demo工程,引入.h和.a文件,调用相关类的相关方法(消息)。在我的4S上一Run,哇塞~成功了!
但是发给同事用的时候,他告诉我编译报错,我去看了看出错原因,原来是因为他在模拟器上跑的。用百度Google了一下,原来需要真机和模拟器各打一个包,然后用打包命令再生成一个合并包。(不知道现在有没有更先进的方法,如果有,请大家留言)
合并打包命令:lipo -create "xxxEngine-device.a路径" "xxxEngine-simulator.a路径" -output "最终xxxEngine.a路径"
当然,绝对路径,相对路径都可以。
最后再墨迹两句,以前比较懒,每次用到的时候都要现去百度Google。从今以后可以说,去我空间博客里找找,嘻嘻!
首秀比较简单,今后有更深层的思考,总结,一定会继续跟大家分享的,希望和大家有更多的交流!
iOS静态库打包的更多相关文章
- iOS - 静态库的创建与使用
在日常项目开发中,不论是为了两个公司项目上的业务交流还是为了减少项目的编译时间,有的时候我们会把项目中的私密内容打包成静态库,或者是把项目中变动较少一部分打包成静态库以便提高编译效率,那么下面我们就来 ...
- iOS静态库.a文件制作和导入使用
iOS静态库.a文件制作: 1.新建Cocoa Touch Static Library工程 新建工程 - 选择iOS-FrameWork&Libary,选择 Cocoa Touch Stat ...
- iOS 静态类库 打包 C,C++文件及和OC混编
iOS 静态类库 编译 C,C++ 我们都知道,OC 原生支持C, 在 创建的 OC类的 .m 里面,可以直接编写C的代码: 同样 Xcode 也支持 OC ,C++的混编,此时,我们通常把OC创建的 ...
- 【转】iOS静态库 【.a 和framework】【超详细】
原文网址:https://my.oschina.net/kaqijiang/blog/649632 一.什么是库? 库是共享程序代码的方式. 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存 ...
- iOS 静态库,动态库与 Framework 浅析
静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我们会用到库呢?一种情况是某些代码需要给别人使用,但是我们不希望别人 ...
- iOS 静态库,动态库与 Framework
iOS 静态库,动态库与 Framework 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我们会用到库呢 ...
- IOS静态库
如何在Xcode中创建C++静态库 http://jingyan.baidu.com/article/03b2f78c111fca5ea237ae26.html iOS 如何创建和使用静态库 http ...
- iOS : 静态库制作
一.静态库简介 1. 什么是库? 库 就是程序代码的集合, 是共享程序代码的一种方式 2. 库的分类? 开源库 公开源代码, 能看到具体实现 例如MJExtension, MJRefresh, AFN ...
- 你的iOS静态库该减肥了
我有点震惊,国内的具有极少的有关静态库开发的内容,除了一些简单的如何教你开发,而且是原创还是copy,谁知道呢?细思极恐,不扯那么远了,这里就已切身的爬坑经历提供几个静态库瘦身的方案. 公司最近开发完 ...
随机推荐
- sources.list
deb http://debian.ustc.edu.cn/ubuntu/ precise main multiverse restricted universe deb http://debian. ...
- Set(), Get() 真正的目的
在各种面向对象编程中,都有 Set(), Get() 两种方法. 1 常见理解 1 为了保证安全性 2 为了规范代码 其实这些理解都是对的.具体看我们从哪个角度去理解这个内容. 2 个人理解 2.1 ...
- Opencv3.1.0安装包
这个资源是Opencv3.1.0安装包,包括Windows软件包,Android软件包,IOS软件包,还有opencv的源代码:需要的下载吧. 点击下载
- nyoj 题目21 三个水杯
三个水杯 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 给出三个水杯,大小不一,并且只有最大的水杯的水是装满的,其余两个为空杯子.三个水杯之间相互倒水,并且水杯没有 ...
- 获取任意网站的图标,标题栏logo,网站logo
https://www.hao123.com/favicon.ico 网站换成你想要的 大多数都可以
- Rust安装配置
Rust安装配置 话说前面: 如果你 之前安装过老版本的 rust 请先卸载 我说的是以 msi 文件安装的那种, 请进控制面板–> 程序中进行卸载 首先 下载官网 的 rustup-init. ...
- HDU 2546 饭卡(01 背包)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2546 思路:需要首先处理一下的的01背包,当饭卡余额大于等于5时,是什么都能买的,所以题目要饭卡余额最小, ...
- BZOJ4300 绝世好题 【dp】
题目 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<=len). 输入格式 输入文件共2行. 第一行包括一个整数n. 第二行包括n个 ...
- 洛谷 P2375 [NOI2014]动物园 解题报告
P2375 [NOI2014]动物园 题目描述 近日,园长发现动物园中好吃懒做的动物越来越多了.例如企鹅,只会卖萌向游客要吃的.为了整治动物园的不良风气,让动物们凭自己的真才实学向游客要吃的,园长决定 ...
- confluence6.3安装、破解
confluence是一个专业的企业知识管理与协同软件,可以用于构建企业wiki.通过它可以实现团队成员之间的协作和知识共享.现在大多数公司都会部署一套confluence,用作内部wiki.现在co ...