iOS的Framework靜態庫
靜態庫VS動態庫
- 靜態庫不需要簽名,動態庫需要簽名。
製作混編靜態庫
庫內部Swift呼叫OC的標頭檔案
Swift呼叫OC時,庫裡面不能使用bride
橋接檔案,需要將OC標頭檔案加入到工程標頭檔案中XFramework.h
。-
庫內部OC呼叫Swift的標頭檔案
所有庫內部編譯的Swift標頭檔案都在<XFramework/XFramework-Swift.h>
裡面,OC呼叫時匯入標頭檔案<XFramework/XFramework-Swift.h>
。#import <XFramework/XFramework-Swift.h>
⚠️Swift檔案類的許可權可以使用
open
和public
,擴充套件的許可權使用public
。⚠️Swift4.0的方法如果要在OC使用,必須手動新增
@objc
才能編譯到<XFramework/XFramework-Swift.h>
標頭檔案中。最好對所有的Swift介面都加上@objc public
。 -
對外提供訪問檔案:
在庫工程的Build Phases中
Headers
裡面管理標頭檔案。供外部訪問的OC檔案加入到
Public
中。Swift檔案建議都加入到
Private
中。Swift檔案加入到Public
後會對外開放原始碼。
新增庫:
庫可以直接使用.framework
或者子工程新增。
使用
.framework
使用子工程
呼叫庫檔案:
-
呼叫庫的OC檔案:
OC標頭檔案一般都在
XFramework.h
中:#import <XFramework/XFramework.h>
Swift標頭檔案一般都在
<XFramework/XFramework-Swift.h>
中:#import <XFramework/XFramework-Swift.h>
-
呼叫庫的Swift檔案:
有兩種方式都可以。
-
一種是在本地
bridge
中新增標頭檔案,另一種方式是。#import <XFramework/XFramework.h> #import <XFramework/XFramework-Swift.h>
-
在Swift中匯入Framework
import XFramework
-
擴充套件問題
需要在Targets的build setting選項下有Other linker flags的設定加上-Objc
或者-all_load
或者-force_load
。
-all_load
表示對所有庫加上鍊接庫。
-force_load
只對指定庫加。
-force_load $(SRCROOT)/XFramework.framework/XFramework
Demo地址
上傳中...
相關文章
- iOS 靜態庫(.a, .framework) 動態庫(.framework, dylib)iOSFramework
- iOS - 靜態庫.a 和 framework 詳解iOSFramework
- iOS中的動態庫,靜態庫和framework介紹iOSFramework
- ios靜態庫和動態庫iOS
- 改造動態framework為靜態frameworkFramework
- iOS 靜態庫 與私有庫iOS
- iOS動態庫和靜態庫的運用iOS
- ios靜態庫與動態庫的區別iOS
- iOS 靜態庫開發iOS
- 菜鳥教程——iOS動態庫與靜態庫iOS
- iOS靜態庫SDK製作(包含第三方靜態庫)iOS
- ios 開發中 動態庫 與靜態庫的區別iOS
- Linux 依賴動態庫 / 靜態庫的動態態庫 / 靜態庫Linux
- iOS 靜態庫詳解與開發iOS
- iOS打包.a靜態庫檔案(入門)iOS
- 自建 iOS 靜態庫並用 pod 管理iOS
- iOS 打包靜態類庫 lib.aiOS
- ios平臺靜態庫大小裁減iOS
- iOS應用程式瘦身的靜態庫解決方案iOS
- iOS-靜態庫聯調中的若干問題iOS
- iOS中動/靜態庫支援bitcode的問題iOS
- Xcode 6製作動態及靜態FrameworkXCodeFramework
- 動態庫和靜態庫的區別
- iOS .a庫打包成.framework(將極光推送的.a庫打包進framework)iOSFramework
- 靜態庫生成
- C靜態庫的建立與使用--為什麼要引入靜態庫?
- iOS 靜態庫-因為CPU架構引起的小問題iOS架構
- linux下的靜態庫與動態庫Linux
- 深入iOS系統底層之靜態庫介紹iOS
- iOS 製作靜態庫(.a檔案)(Xcode9)iOSXCode
- Linux下的共享庫(動態庫)和靜態庫Linux
- Android NDK祕籍--編譯靜態庫、呼叫靜態庫Android編譯
- cmake:生成靜態庫和動態庫
- android下java的靜態庫和動態庫AndroidJava
- Windows靜態庫和動態庫的建立和使用Windows
- .net呼叫靜態庫
- 靜態庫與DLL
- iOS拆分,合併靜態庫以壓縮打包空間iOS