作为开发者在开发者肯定会去用到第三方的一个东西, 比如支付宝 微信,或者地图这方面的, 但是我们去集成的时候往往开发者平台会给你一个. a 文件 或者. FrameWork 文件,那来调用里面的方法, 但是我们当我们点击去看源码的时候是看不到里面是怎么实现的.里面就只有. h 文件, 毕竟. m 里面的东西是属于公司核心代码, 不会给你看到的. 那么我们就来看看制作 FrameWork 的制作流程吧.
第一步 创建一个项目
创建项目.png第二步 创建一个继承与 NSObject 的类,名为 StaticText
创建类.png第三步 在StaticText.h写你为开发者提供的方法 并在StaticText.m 实现
#import <Foundation/Foundation.h>
@interface StaticText : NSObject
/**
暴露给开发者的方法
*/
-(void)goHome;
@end
#import "StaticText.h"
@implementation StaticText
/**
实现
*/
-(void)goHome{
NSLog(@"iOS从入门到放弃");
}
@end
第四步 (1)在TARGETS下选中工程,在Build Settings下更改几个参数。
修改参数.png B8413C4D-A74C-4788-B543-326EAF1D400D.png(2) 在 Architectures 中添加 armv7s 并把 Build Active Architecture Only 设为 No
修改.png第五步 设置Headers
将你要公开的头文件移动到Public下,要隐藏的放在Private或者Project下,
设置 Headers.png
第六步 在 StaticFrameWork.h把你所需要的头文件导入
导入头文件.png第七步 打包FrameWork
(1) 选择某个模拟器 编译程序.
(2) 选择真机 编译程序.
(3)在 Finder中找到 FrameWork
选中 frame.png上图中 选中 FrameWork 在 Show In Finder 会看到下图
两种 framework.png第八步 我们需要使用终端把这两个 FrameWork 合并成一个
在中段输入 lipo -create iphoneos下的StaticFrameWork路径 iphonesimulator下的StaticFrameWork路径 -output 新的路径
lipo -create /Users/wangyu/Library/Developer/Xcode/DerivedData/StaticFrameWork-fcpijsovwugnjcdhtkfygpwfhxad/Build/Products/Debug-iphoneos/StaticFrameWork.framework/StaticFrameWork /Users/wangyu/Library/Developer/Xcode/DerivedData/StaticFrameWork-fcpijsovwugnjcdhtkfygpwfhxad/Build/Products/Debug-iphonesimulator/StaticFrameWork.framework/StaticFrameWork -output /Users/wangyu/Desktop/text1/StaticFrameWork
这样就完成了模拟器和真机版本的合并,新路径下的StaticFrameWork就是你合并后的文件
然后用输出在桌面上的StaticFrameWork替换掉前面Debug-iphoneos中FrameWork中的StaticFrameWork
将这做好的FrameWork直接拖入要使用的工程中
拖到项目中去.png
第九步 导入 FrameWork 文件
#import <StaticFrameWork/StaticFrameWork.h>
StaticText *text = [[StaticText alloc]init];
[text goHome];
结果
结果.png
OK 完成.在后面还写了有关静态库[静态库.a文件制作方法] (https://www.jianshu.com/p/0e84e299020c)
网友评论