swift靜態庫的實現

1.swift不支持.a的靜態庫,所以只能製做.framework的靜態庫

同oc相似,framework須要設置 mach-o 爲 static library

2.靜態庫的使用

同oc同樣,加入靜態庫,須要設置好靜態庫相關的path,而後在須要使用的地方 import xx.framework,而後就能夠使用了

3.純swift靜態庫的製做

將須要開放的接口和類設置成public

header不須要設置,xcode會自動生成頭文件

同oc同樣,將寫好的代碼編譯成不一樣的架構,併合成一個包,同時須要合併.swiftmodule裏面的文件

4.純swift靜態庫中包含靜態庫

目標靜態庫A,引入靜態庫B

其實A中使用B的方式和普通工程使用靜態庫的方式一致

5.swift和oc混合的靜態庫的製做

製做方法同3,4相似,可是swift使用的oc類須要導入到靜態庫自動生成的.h中,且其.h文件須要放入header中。


oc中使用swift時須要在oc中xcode自動生成的xxx-swift.h,同時swift中能被oc使用的類或者方法,須要前置聲明@objc

在使用的時候須要注意一個問題swift

❌錯誤

dylib: Library not loaded: @rpath xx.framework/xx
...
...
Reason: image not found
解決辦法

此處須要導入 General -> Embedded Binnaries xx.framework

參考連接 Swift&Objective-c 混合製做Framework詳解xcode

相關文章
相關標籤/搜索