如何生成.a文件,小心有坑!!
.a文件是一种对实现文件细节进行隐藏的打包文件。
由于是打包文件,所以需要创建工程,将功能代码添加到工程。下面是创建.a文件的具体步骤:
Step One:打开Xcode(此处使用的Xcode 8.2.1版本),新建工程

选择新建醒目类别:"Cocoa Touch Static library"

新建工程名:“ShowMe”

接下来你会看到工程中已经创建了一个".h"和".m"文件

Step Two:下面是一段小例子,这里也可以写你自己的功能模块代码,此处只是流程展示,不再编写很多代码
.h文件
#import <Foundation/Foundation.h> @interface ShowMe : NSObject -(void)showMe:(NSString *)something; @end
.m文件
#import "ShowMe.h" @implementation ShowMe -(void)showMe:(NSString *)something
{
NSLog(@"It`s your %@", something);
} @end
Step Three:接下来修改一些配置项:


Step Four:好了,接下来就可以生成.a文件了,”command+B“,看到”Build Succeeded“即可。
生成的.a文件在哪呢?看下图

大功告成!
Additional:
但是怎么用呢?.a文件是不能单独使用的,需要.h文件配合使用,提供外部访问接口。所以,你需要将所有.h文件(这里只有”ShowMe.h“一个文件,你的肯能有很多,只要将你想让别人看到的.h文件拿出来就可以了)与.a文件一起拷贝到一个新建的空文件夹中即可

使用时将整个文件夹拖拽到项目中即可。
当然,操作过程中会遇到各种错误,请参考:保护你的代码,生成.a文件以及.framework文件需要注意的地方
更多错误还在探索中...
欢迎路过...
如何生成.a文件,小心有坑!!的更多相关文章
- asp.net使用SpeechSynthesizer类生成语音文件部署到iis遇到的几个坑
首先需要引入命名空间System.Speech.Synthesis,代码如下: using (var speechSyn = new SpeechSynthesizer()) { speechSyn. ...
- 【坑】Mybatis 多次逆向工程生成mapper文件
在使用 mybatis 逆向工程的时候,多次逆向工程生成的文件,是不会产生覆盖的,而是追加: 假如,你第一次逆向,发生数据库的某个字段类型错了,修改以后再次逆向,那么得到的 mapper文件,将是 2 ...
- 保护你的代码,生成.a文件以及.framework文件需要注意的地方
一个好的设计,一个方便使用的控件封装,一个酷炫的动画... 是不是迫不及待要分享给大家你的每一个突然蹦出来的好的idea,那就下手吧! 可是,你想要的只是让大家使用它,而不是把所有技术点都公开给每个人 ...
- windows下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件
原创文章,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4535459.html android 程序打包成apk,如果在是命令行方式,一般都要经过如下步骤: 1.用a ...
- android 无法生成R文件的原因剖析
android 无法生成R文件 是件痛苦的事情,即使有时候你xml文件没有错误,他都无法生成.针对此问题,我总结以下几个方面的原因. 一.xml本身有错误 R.java这个文件是会自动生成的,但是如果 ...
- VNPY加密教程(Python生成pyd文件)
安装成功之后,再修改设置.让Cython可以找到vcarsall.bat.此处有两种方案.(我采用方案1,亲测可用.方案2未测试,看似可用.) 方案1:修改Python安装目录的文件设置 window ...
- Python生成pyd文件
Python的脚本文件是开源的,量化策略的安全性没有保障.因此需要保护源码.那么要对Python代码进行混淆.加密保护. 混淆代码,我准备使用pyminifier.而加密处理,就比较麻烦. Pytho ...
- 在js内生成PDF文件并下载的功能实现(不调用后端),以及生成pdf时换行的格式不被渲染,word-break:break-all
在js内生成PDF文件并下载的功能实现(不调用后端),以及生成pdf时换行的格式不被渲染,word-break:break-all 前天来了个新需求, 有一个授权书的文件要点击下载, 需要在前端生成, ...
- JAVA中使用freemark生成自定义文件(json、excel、yaml、txt)
原文:http://blog.csdn.net/jinzhencs/article/details/51461776 场景:在我们工作中,有时需要生成一些文件,可能它不是一种标准的格式,比如JSON. ...
随机推荐
- JQ 时间插件
<script type="text/javascript" charset="utf-8" src="__PUBLIC__/ueditor/u ...
- C++ 类的多态四(虚析构函数的重要性)
//虚析构函数的重要性 #include<iostream> using namespace std; /* 虚析构函数 主要用在多态中,用来释放子类对象内存空间,如果不使用虚析构函数, ...
- 第一百四十七节,封装库--JavaScript,滑动导航
JavaScript,封装库--滑动导航 效果图 html <!--滑动导航--> <div id="nav"> <ul class="ab ...
- java Thread方法解析: sleep join wait notify notifyAll
转载自: sleep(),yield(),wait()区别详解:http://dylanxu.iteye.com/blog/1322066 join方法详解:http://www.open-open. ...
- java网络编程1-查询Internet地址
//经过dns查询后的结果会缓存起来,成功结果永久缓存,失败结果会缓存10s,通过下面的方法设置成功和失败的缓存时间 // 0为不缓存,-1为永不过期,其它单位为s Security.setPrope ...
- cout顺序,i++和++i
先看下以下代码 #include<iostream> using namespace std; ; int f1() { x = ; return x; } int f2() { x = ...
- hdu 4284(状压dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4284 思路:类似于poj3311:http://poj.org/problem?id=3311,首先f ...
- 修改MyEclipse内存
Window ---> preferrences-->installed JREs :点击JDK修改argument为:-Xms512m -Xmx1024m -XX:PermSize= ...
- Duilib教程-控件练习
一.控件消息的响应. 在HelloDuilib例子中,程序不能退出,在这里,我将添加一个关闭按钮,当点击它时,调用PostQuitMessage进行退出. 首先在界面的右上角添加一个关闭按钮,并取名为 ...
- 面试STAR法则
昨天投了几家公司的简历,A公司还没看简历,B公司没有通过简历,另外的后说(其实只投了这两家),B公司最终给了蛮中肯的回复: 虽然,一开始看到这样的结果,有些失落,仔细看过回复后,有些不屑和好奇.百度了 ...