應公司需求,需要將定制其他第三方的密碼鍵盤,進行二次封裝(添加自己的一些邏輯進去),第三方提供的密碼鍵盤包含三個文件夾include存放頭文件,lib包含.a靜態(tài)庫與.framework靜態(tài)庫(加密庫),xcconfig包含xcconfig的配置
封裝步驟
一、創(chuàng)建framework

截屏2022-06-22 09.33.58.png
二、同一工程創(chuàng)建聯(lián)調demo
方法1:控制面板添加

621655861816_.pic.jpg

截屏2022-06-22 09.41.22.png

631655861901_.pic.jpg
方法2:Xcode->file->Target

截屏2022-06-22 09.40.37.png
三、設置product文件(Xcode13之后product文件消失了)
1、打開項目文件夾,找到XXX.xcodeproj,顯示包內容

截屏2022-06-22 09.46.13.png
2、雙擊打開project.pbxproj文件,找到mainGroup,將mainGroup的內容復制給productRefGroup,項目中的groduct文件夾就出來了

651655862510_.pic.jpg

WeChat56b8eee01aa116c7f892e6d9da743c54.png
四、配置framework
1、設置framework的Mach-O type 為Static Library 靜態(tài)庫
2、將依賴的第三方文件添加到framework中

WeChat9be5dad3ece838431ff6e1297788d91f.png
3、添加public header
(1)將允許外部調用的頭文件添加到Encryptkeyboard里面

WeChat18b3df94737515da1bcc78eeb9ef5235.png
(2)將第一步中引入的頭文件,從project拖到public中

WeChat5ac1fca4b1b2f997a6844606d243bc92.png
(3)添加系統(tǒng)依賴庫
五、引用framework
在demo項目中導入#import <Encryptkeyboard/Encryptkeyboard.h>
即可直接使用
注意:
1:由于我們依賴的庫含有.a靜態(tài)庫和xxx.framework靜態(tài)庫,xxx.framework靜態(tài)庫引入是需要設置為Do not Embed,并且需要再使用的demo工程中重新加入xxx.framework,否則無法使用xxx.framework中的內容
2:具體靜態(tài)庫與動態(tài)庫依賴問題參考iOS 靜態(tài)庫&動態(tài)庫依賴問題
iOS制作Framework依賴第三方Framework