iOS framework的具體合成步驟
framework的方便之處
1.如果公司有多個專案,很多模組都相似或者一樣,那麼將功能模組直接打成 framework, 下次用的時候直接匯入就行
2.如果將一個模組程式碼直接拷貝進專案,也是可以. 但是XCode編譯速度會降低
動態庫和靜態庫
靜態庫:連結時完整地拷貝至可執行檔案中,被多次使用就有多份冗餘拷貝。
動態庫:連結時不復制,程式執行時由系統動態載入到記憶體,供程式呼叫,系統只載入一次,多個程式共用,節省記憶體。
而我們只能做的 : 靜態庫 (framework 或 .a)
framework 和 .a的區別
.a是一個純二進位制檔案,.framework中除了有二進位制檔案之外還有資原始檔。
.a檔案不能直接使用,至少要有.h檔案配合,.framework檔案可以直接使用。
.a + .h + sourceFile = .framework
framework 的合成步驟
1.XCode 新建專案
2.專案取名稱(KNActionSheet為例)
// 記得修改framework所需要設配的版本(iOS9.0)
3.將寫好的模組類直接新增到專案中,並修改引數
// 1.設定 Build Settings 中的 Linking 三個引數
// 2.設定 Build Settings 中的 Architectures ,增加armv7s
// 3.設定 Build Phases 中的 Headers ,將需要暴露出去的檔案 從 Project 拖到 Public 中
// 4.匯入標頭檔案
4.打包 模擬器的 framework 和 真機的framework
// 1.模擬器framework : 選中模擬器 ,直接 command + B
// 2.真機framework : 選中Generic iOS Device ,直接 command + B
// 3.找到 Products/KNActionSheet.framework的位置
5.現在呢! 模擬器和真機的 framework 都已經有了.但是它們只能單獨使用(模擬器的framework 只能跑 模擬器, 真機的 framework 只能跑真機)
6.模擬器和真機的 framework 合成
// 1.開啟 終端 termimal
// 2.輸入 lipo -create 模擬器KNActionSheet.framework中的 KNActionSheet 真機KNActionSheet.framework中的 KNActionSheet -output 桌面新建檔案
例如: lipo -create /Users/LuKane/Library/Developer/Xcode/DerivedData/KNActionSheet-enchucqlvbpvaigfpkcoeabzthqb/Build/Products/Debug-iphoneos/KNActionSheet.framework/KNActionSheet /Users/LuKane/Library/Developer/Xcode/DerivedData/KNActionSheet-enchucqlvbpvaigfpkcoeabzthqb/Build/Products/Debug-iphonesimulator/KNActionSheet.framework/KNActionSheet -output /Users/LuKane/Desktop/NewFramework
// 3.回車
// 4.注意 : 建議在桌面新建一個檔案,而合成的檔案 是和 新建資料夾一樣層級, 合成的檔案字尾名:xxxx.lipo ,移除字尾名,並重新命名成自己的framework名(例如:KNActionSheet),找到模擬器或者真機的 framework, 替換framework中的 KNActionSheet 檔案. 然後將當前framework 拷貝到 桌面上. 結束
// 5.合成後的framework 比 模擬器 和 真機的都大, 畢竟是 合成的. 所以建議 : 單獨用 模擬器的 或者 真機的 framework就行
注意 : 最好在Build Settings中的 Other Linker Flags 中 增加 -Objc
相關文章
- Java訪問資料庫的具體步驟:Java資料庫
- 小程式中接入廣告的具體步驟
- win10怎麼把兩個盤合成一個 合併磁碟具體操作步驟Win10
- 線上教育平臺搭建具體步驟
- vnc使用教程,vnc使用教程的具體操作步驟VNC
- 將 java 專案部署到 linux 上的具體步驟JavaLinux
- YOLOv5新增註意力機制的具體步驟YOLO
- 軟體結構設計,具體分為幾個步驟?
- 如何匯入甜美粉色系濾鏡LR的具體操作步驟
- 實現PMC的數字化轉型需要哪些具體的步驟?
- 資料探勘的基本步驟有哪些?具體流程是怎樣的?
- SNP乾貨分享:SAP資料脫敏的具體實施步驟
- 如何實現Java 設定動態代理ip的具體操作步驟Java
- 調整innodb redo log files數目和大小的具體方法和步驟
- android studio呼叫攝像頭拍照及具體步驟演示程式碼Android
- 直播軟體開發關於Android、iOS中的影片採集步驟AndroidiOS
- 關於安裝DNS伺服器的新增步驟具體圖文詳解DNS伺服器
- 原生(iOS)與Flutter混合開發步驟iOSFlutter
- 通過一個具體的例子,講解 SAP BDC 技術的使用步驟試讀版
- win10安裝framework3.5的步驟_win10系統如何安裝net framework3.5Win10Framework
- iOS的Framework靜態庫iOSFramework
- Windows系統,在Pycharm裡面(python3.9)下載dlib的依賴包的具體步驟WindowsPyCharmPython
- 幾個步驟,讓你的 iOS 程式碼容易閱讀iOS
- jdk、tomcat、mysql軟體的安裝步驟JDKTomcatMySql
- iOS 10 的推送 User Notifications FrameworkiOSFramework
- iOS13 即將到來,iOS 推送 DeviceToken 適配步驟詳解iOSdev
- 最新最詳細步驟介紹iOS APP上架iOSAPP
- iOS裝置具體型號獲取iOS
- Creating your first iOS FrameworkiOSFramework
- 企業運維軟體的選型步驟運維
- win10怎麼安裝telnet服務_win10新增telnet服務具體步驟Win10
- 原生ajax的步驟?
- 需求分析的步驟
- win10怎麼恢復出廠設定 win10還原系統的具體方法步驟Win10
- 玩轉 iOS 開發:Aggregate 指令碼版本《模擬器與真機靜態 Framework 合成教程》iOS指令碼Framework
- 路由器怎樣重新設定wifi密碼 路由器重設wifi密碼具體步驟路由器WiFi密碼
- xftp安裝步驟,xftp安裝的2大步驟FTP
- iOS 封裝.framework 以及使用iOS封裝Framework