制作 .framework 静态库
新建 Framework 工程
截屏2021-02-05 上午10.31.35.png配置 Project
① Build Active Architecture Only 设置为 NO
※设置为 YES,是只编译当前的 architecture 版本,是为了编译速度更快
※设置为 NO,系统会编译所有architecture下的版本
② Mach-O Type 设置为 Static Library
截屏2021-02-05 上午10.34.32.png创建对外使用接口文件
①将对外接口文件设置为 public
截屏2021-02-05 上午11.02.10.png※因为使用这个静态库是 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 静态库只能给真机使用
OC 工程导入 Swift 静态库( .framework )
①添加 .framework 文件至工程
②设置配置文件
※因为要在 OC 工程中使用 Swift 制作的静态库,所以要将 Always Embed Swift Standard Libraries 设置为 YES
③ 创建 .swift 文件,自动生成桥接文件
④ .h 文件中导入包
#import "UseFramework-Swift.h"
#import <demo/demo.h>
⑤ 已经可以使用 framework 中的接口了
BOOL isJailBroken = [[InstanceSDK sharedInstance] checkJailBroken];
网友评论