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...
打開選擇工程界面,點擊我們要的Cocoa Touch Framework
第二步、創建自己的類
創建完工程之后,就是下面這個樣子,這個時候,我們其實可以刪掉源文件 Yc_Sdk.h,因為它只有一個頭文件 - -,我們還需要再建立一個.m文件,索性直接刪掉,重新創建得了
創建完成后,就可以為自己的類,添加方法等實現了。可以先加一個輸出方法(.h文件中記得也聲明一下方法)
那么類和方法都創建好了之后,首先你要暴露出自己的頭文件,不然你創建了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導入到工程中。
導入之后,在ViewController.m中,加入頭文件
#import <Yc_Sdk/Yc_Sdk.h>
加入之后,調用framework中的已創建的方法
[[[Yc_Sdk alloc] init] printLog];
然后就會發現控制臺打印出了"Hello World"
結尾
第一篇就這么過去了,本來去年就應該寫這篇文章,后來吊兒郎當了一段時間,又臨危受命忙了一段時間,全給忘記了。今天打開簡書發現有一個草稿,于是決定補全。
有什么問題,請留言,或者發簡訊給我,知無不言,言無不盡。
- 下一篇,將會出如何在自定義framework中集成進去.a包。