iOS创建自定义Framewrok(一)

作者: jett_yu | 来源:发表于2017-08-03 19:34 被阅读150次

    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中。

    创建类(三).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出通用的,那么,,,就用脚本合成吧 - -。

    Building.png

    第三步、测试

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

    测试(一).png

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

    #import <Yc_Sdk/Yc_Sdk.h>

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

    [[[Yc_Sdk alloc] init] printLog];

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

    测试(二).png

    结尾

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

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

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

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

    相关文章

      网友评论

      本文标题:iOS创建自定义Framewrok(一)

      本文链接:https://www.haomeiwen.com/subject/nedtyttx.html