iOS创建自定义Framewrok(一)

2016年8月份,我到了一家新公司。之后,公司要求我出framework.
可是我做了几年应用,从来没做过sdk,真是有点尴尬。
于是翻阅资料,借鉴了很多资料。

比如

(原文:How to Create a Framework for iOS 作者:Sam Davies 译者:Mr_cyz )
iOS开发——创建你自己的Framework
http://www.cocoachina.com/ios/20150127/11022.html

其实看完这一篇文章之后,我基本就已经知道该怎么做了。所以这第一篇制作framework,就是以这篇文章为基准,进行写的。如果您觉得我抄袭了,我会立即删除。

第一步、创建工程

首先,Xcode目前可以直接创建framework或者.a的工程了。

打开Xcode ->File -> New ->project...

iOS创建自定义Framewrok(一)_第1张图片
创建工程(一).png

打开选择工程界面,点击我们要的Cocoa Touch Framework


iOS创建自定义Framewrok(一)_第2张图片
创建工程(二).png

第二步、创建自己的类

创建完工程之后,就是下面这个样子,这个时候,我们其实可以删掉源文件 Yc_Sdk.h,因为它只有一个头文件 - -,我们还需要再建立一个.m文件,索性直接删掉,重新创建得了

iOS创建自定义Framewrok(一)_第3张图片
创建类(一).png

创建完成后,就可以为自己的类,添加方法等实现了。可以先加一个输出方法(.h文件中记得也声明一下方法)

iOS创建自定义Framewrok(一)_第4张图片
创建类(二).png

那么类和方法都创建好了之后,首先你要暴露出自己的头文件,不然你创建了framework,Header里面是空的,别人怎么调你的sdk呢 - -。


那么,首先依次选择工程->target->Build Phases
然后你会发现有一栏叫Headers的,展开后发现,我们创建的类的头文件在Project这一分类里,我们将它,手动拖到Public中。

iOS创建自定义Framewrok(一)_第5张图片
创建类(三).png

到这一步为止,基本上已经制作完一个framework了,剩下的就是设置了。

选择工程->target->Build Settings。

找到 Build Options -> Enable Bitcode设置成No

找到 Deployment -> Strip Style 设置成 Non-Global Symbols

找到 Deployment -> iOS Desployment Target 设置成 iOS8.0 (反正尽量往小了设 - -)

找到 Linking -> Mach-O Type 设置成 Static Library

找到 Linking -> Other Linker Flags 添加 ObjC

找到 Packaging -> Defines Module 设置成 No

基本就没什么需要注意的了。这个时候就可以building了。

注意选择好building的设备,选择Simulator,就会building出只适合模拟器的framework,如果选的Generic iOS Device就会building出真机使用的framework,如果想building出通用的,那么,,,就用脚本合成吧 - -。

iOS创建自定义Framewrok(一)_第6张图片
Building.png

第三步、测试

创建一个测试工程,将building好的framework导入到工程中。

iOS创建自定义Framewrok(一)_第7张图片
测试(一).png

导入之后,在ViewController.m中,加入头文件

#import

加入之后,调用framework中的已创建的方法

[[[Yc_Sdk alloc] init] printLog];

然后就会发现控制台打印出了"Hello World"

iOS创建自定义Framewrok(一)_第8张图片
测试(二).png

结尾

第一篇就这么过去了,本来去年就应该写这篇文章,后来吊儿郎当了一段时间,又临危受命忙了一段时间,全给忘记了。今天打开发现有一个草稿,于是决定补全。

有什么问题,请留言,或者发简讯给我,知无不言,言无不尽。

- 下一篇,将会出如何在自定义framework中集成进去.a包。

Demo地址:https://github.com/yuxiaoen/BuildingMyFramework.git

你可能感兴趣的:(iOS创建自定义Framewrok(一))