iOS制作FrameWork(Xcode9)

作为开发者在开发者肯定会去用到第三方的一个东西, 比如支付宝 微信,或者地图这方面的, 但是我们去集成的时候往往开发者平台会给你一个. a 文件 或者. FrameWork 文件,那来调用里面的方法, 但是我们当我们点击去看源码的时候是看不到里面是怎么实现的.里面就只有. h 文件, 毕竟. m 里面的东西是属于公司核心代码, 不会给你看到的. 那么我们就来看看制作 FrameWork 的制作流程吧.

第一步 创建一个项目

iOS制作FrameWork(Xcode9)_第1张图片
创建项目.png

第二步 创建一个继承与 NSObject 的类,名为 StaticText

iOS制作FrameWork(Xcode9)_第2张图片
创建类.png

第三步 在StaticText.h写你为开发者提供的方法 并在StaticText.m 实现

#import 

@interface StaticText : NSObject

/**
 暴露给开发者的方法
 */
-(void)goHome;

@end
#import "StaticText.h"

@implementation StaticText

/**
 实现
 */
-(void)goHome{
    NSLog(@"iOS从入门到放弃");
}

@end

第四步 (1)在TARGETS下选中工程,在Build Settings下更改几个参数。

iOS制作FrameWork(Xcode9)_第3张图片
修改参数.png
iOS制作FrameWork(Xcode9)_第4张图片
B8413C4D-A74C-4788-B543-326EAF1D400D.png

(2) 在 Architectures 中添加 armv7s 并把 Build Active Architecture Only 设为 No

iOS制作FrameWork(Xcode9)_第5张图片
修改.png

第五步 设置Headers

将你要公开的头文件移动到Public下,要隐藏的放在Private或者Project下,


iOS制作FrameWork(Xcode9)_第6张图片
设置 Headers.png

第六步 在 StaticFrameWork.h把你所需要的头文件导入

iOS制作FrameWork(Xcode9)_第7张图片
导入头文件.png

第七步 打包FrameWork

(1) 选择某个模拟器 编译程序.
(2) 选择真机 编译程序.
(3)在 Finder中找到 FrameWork
iOS制作FrameWork(Xcode9)_第8张图片
选中 frame.png
上图中 选中 FrameWork 在 Show In Finder 会看到下图
iOS制作FrameWork(Xcode9)_第9张图片
两种 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直接拖入要使用的工程中


iOS制作FrameWork(Xcode9)_第10张图片
拖到项目中去.png

第九步 导入 FrameWork 文件

#import 


StaticText *text = [[StaticText alloc]init];
    [text goHome];

结果


iOS制作FrameWork(Xcode9)_第11张图片
结果.png

OK 完成.在后面还写了有关静态库[静态库.a文件制作方法] (https://www.jianshu.com/p/0e84e299020c)

http://www.cocoachina.com/ios/20161109/18031.html

你可能感兴趣的:(iOS制作FrameWork(Xcode9))