制作 .framework 靜態(tài)庫
新建 Framework 工程
配置 Project
① Build Active Architecture Only 設置為 NO
※設置為 YES熬北,是只編譯當前的 architecture 版本欢揖,是為了編譯速度更快
※設置為 NO粹舵,系統(tǒng)會編譯所有architecture下的版本
② Mach-O Type 設置為 Static Library
創(chuàng)建對外使用接口文件
①將對外接口文件設置為 public
※因為使用這個靜態(tài)庫是 OC 工程叹螟,所以要添加 @objc
import Foundation
@objc public class InstanceSDK: NSObject {
@objc static let shared = InstanceSDK()
@objc public class func sharedInstance() -> InstanceSDK {
return shared
}
@objc public func checkJailBroken() -> Bool {
let apps = ["/Applications/Cydia.app",
"/Applications/limera1n.app",
"/Applications/greenpois0n.app",
"/Applications/blackra1n.app",
"/Applications/blacksn0w.app",
"/Applications/redsn0w.app",
"/Applications/Absinthe.app"]
for app in apps {
if(FileManager.default.fileExists(atPath: app)) {
return true
}
}
return false
}
}
編譯工程生成 .framework 文件
※因為編譯時選擇的 Any iOS Device赏廓,所以這個 .framework 靜態(tài)庫只能給真機使用
OC 工程導入 Swift 靜態(tài)庫( .framework )
①添加 .framework 文件至工程
②設置配置文件
※因為要在 OC 工程中使用 Swift 制作的靜態(tài)庫佃迄,所以要將 Always Embed Swift Standard Libraries 設置為 YES
③ 創(chuàng)建 .swift 文件,自動生成橋接文件
④ .h 文件中導入包
#import "UseFramework-Swift.h"
#import <demo/demo.h>
⑤ 已經(jīng)可以使用 framework 中的接口了
BOOL isJailBroken = [[InstanceSDK sharedInstance] checkJailBroken];