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...

創建工程(一).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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容