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...
创建工程(一).png打开选择工程界面,点击我们要的Cocoa Touch Framework
创建工程(二).png
第二步、创建自己的类
创建完工程之后,就是下面这个样子,这个时候,我们其实可以删掉源文件 Yc_Sdk.h,因为它只有一个头文件 - -,我们还需要再建立一个.m文件,索性直接删掉,重新创建得了
创建类(一).png创建完成后,就可以为自己的类,添加方法等实现了。可以先加一个输出方法(.h文件中记得也声明一下方法)
创建类(二).png那么类和方法都创建好了之后,首先你要暴露出自己的头文件,不然你创建了framework,Header里面是空的,别人怎么调你的sdk呢 - -。
那么,首先依次选择工程->target->Build Phases
然后你会发现有一栏叫Headers的,展开后发现,我们创建的类的头文件在Project这一分类里,我们将它,手动拖到Public中。
到这一步为止,基本上已经制作完一个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出通用的,那么,,,就用脚本合成吧 - -。
Building.png
第三步、测试
创建一个测试工程,将building好的framework导入到工程中。
测试(一).png导入之后,在ViewController.m中,加入头文件
#import <Yc_Sdk/Yc_Sdk.h>
加入之后,调用framework中的已创建的方法
[[[Yc_Sdk alloc] init] printLog];
然后就会发现控制台打印出了"Hello World"
测试(二).png结尾
第一篇就这么过去了,本来去年就应该写这篇文章,后来吊儿郎当了一段时间,又临危受命忙了一段时间,全给忘记了。今天打开简书发现有一个草稿,于是决定补全。
有什么问题,请留言,或者发简讯给我,知无不言,言无不尽。
- 下一篇,将会出如何在自定义framework中集成进去.a包。
网友评论