静态库.a的创建过程 (Xcode 6.1)

静态库的两种存在形式 .a 和 .framework  

Foundation.framework 下
staticlibrary
1. 新建项目

选择Framework &Library 选择Cocoa Touch Static Library 点击下一步


2.删除不需要的文件



3.将想要封装的类拖入到文件列表中,按图的形式勾选



4.点击文件的项目->TARGETS库->Build Phases ->点击”+”->选择New Headers Phase创建Hears ,未创建的libAFNetworking.a文件静态库的为红色



Headers包含三种状态 Public  公共  Private私有   Project 项目


5. 选择Project 下面的”+”,安图选中对应的需要显示在外部的文件



默认保存到Project 根据需求可以选择移动到其他两个状态


7. 选中所有文件点击右键可以移动到对应的状态栏,移动到Public

如下图,文件被移动到Public


8. 选择真机 IOS Device  编译 Command + B 


编译后 libAFNetworking.a文件变成了黑色,创建成功


如果报错” code signing is required for product type 'Unit Test Bundle' in SDK 'iOS 8.1’"

请按以下操作
PROJECT --> Build Settings --> Code Signing --> Code Signing Identity设置为 iPhone Developer
TARGETS --> Build Settings --> Code Signing --> Code Signing Identity设置为 iPhone Developer 


10.此时生成了一个静态库,可以ShowInFind查看



选择模拟器按以上步骤会产生模拟器的静态库
如图:


可以合并两个库文件,方便调试和真机的时候使用

MAC 终端的命令
/*

pwd 获取当前路径
ls -l 该文件夹下的文件列表
lipo -create Debug-iphoneos/libAFNetWorking.a Debug-iphonesimulator/libAFNetWorking.a -output libAFNetWorking.a   和并文件
open ./  打开当前路径

*/

在终端中 输入 cd 找到Prouducts 的文件路径
lipo -create Debug-iphoneos/libAFNetWorking.a Debug-iphonesimulator/libAFNetWorking.a -output libAFNetWorking.a 
输入此命令合并成新的libAFNetWorking.a  路径在Prouducts 的文件路径下

静态库创建成功

导入.a和对应的.h文件就能够使用了.

如果静态库中有分类,other linker Flags 里添加 -ObjC

注意:
1. 如果先选择New Headers Phase创建Hears,在导入文件则直接会把.h文件自动导入到Project,不需要你在选择每个.h文件

2. Public 里可以选择你只想公开的头文件,不想公开的文件无须移动到Public

3. 如果包含多个框架报错,在Prefix.pch 文件中,包含其他框架.


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值