iOS SDK開發(入門指南)

什麼是SDK開發?

平常開發中,咱們會遇到某些狀況不能提供源碼,項目組件化等需求,這時候咱們就可使用SDK開發,在OC的開發中,咱們涉及到的通常是靜態庫(.a)或者動態庫(.framework)。(注:不是全部的.framework就必定是動態庫)bash

靜態庫與動態庫的區別?

靜態庫:連接時完整地拷貝至可執行文件中,被屢次使用就有多份冗餘拷貝。表現形式爲 .a和.framework 動態庫:連接時不復制,程序運行時由系統動態加載到內存,供程序調用,系統只加載一次,多個程序共用,節省內存。 表現形式爲 .dylib和.framework 注意:動態庫只能蘋果使用,若是項目中使用了動態庫不容許上架(如:jspatch)jsp

a與.framework有什麼區別?

.a是一個純二進制文件,.framework中除了有二進制文件以外還有資源文件。 .a文件不能直接使用,至少要有.h文件配合,.framework文件能夠直接使用。 .a + .h + sourceFile = .framework。 建議用.framework.組件化

接下來將以實例幫助你們建立一個本身的.framework

首先咱們先建立一個.workspace 測試

workspace
建立完畢後,再建立一個 .frmawork
建立frmawork
將建立好的 frmawork加入到 workspace
image.png
framewrok中能夠封裝入本身須要封裝的內容
image.png
eg: 我在 StringUtils中加入了一個測試方法

#import "StringUtils.h"

@implementation StringUtils
+ (NSString *)testString:(NSString *)string {
    
    return [@"MQTestFramework: " stringByAppendingString:string];
}
@end
複製代碼

接下來進行項目配置:

一、設置Build Setting參數 將Build Active Architecture only設置爲NO ui

image.png

二、設置Build Setting參數 Mach-O Type 爲Static Library (配置靜態、動態) spa

image.png

三、設置Build Setting參數 在Architectures下增長armv7s 3d

image.png

四、在Build Phases中設置須要公開和須要隱藏的頭文件 code

image.png

五、將頭文件引入到MQTestFramwork (本身SDK的頭文件) cdn

image.png
六、 Command + B運行項目,在 Product中找到 framework
image.png
####framework使用 將封裝好的 .framework拉入須要使用的項目中
image.png
使用封裝好的功能
image.png
運行:
image.png
相關文章
相關標籤/搜索