1.創(chuàng)建一個項目工程FddLibDemo
然后選中target創(chuàng)建靜態(tài)庫
第二步創(chuàng)建靜態(tài)庫.a(備注選擇Framework既可以創(chuàng)建靜態(tài)庫Framework,也可以創(chuàng)建動態(tài)庫Framework)
創(chuàng)建完成后這個時候項目中多了一個FddStsticLib target 一個FddStsticLib文件夾 一個FddStsticLib products.
3.需要選中自己的靜態(tài)庫文件夾FddStaticLib
創(chuàng)建自己的核心代碼文件
4.選中工程的target 添加創(chuàng)建的靜態(tài)庫到項目中
5.將靜態(tài)庫中需要暴漏出來的頭文件添加到Copy Files中
切換target 為靜態(tài)庫 然后target 選中靜態(tài)庫將靜態(tài)庫中需要暴漏出來的頭文件添加到Copy Files中
6.修改默認支持的架構(gòu)(選擇NO的話意思是支持所有的架構(gòu))
CPU架構(gòu)
模擬器:
i386:iphone5/iphone5c以下的模擬器
x86_64:iPhone5s以上的模擬器
真機:
armv6:iPhone、iPhone2唧垦、iPhone3G攘须、iPod Touch(第一代)、iPod Touch(第二代)
armv7:iPhone3Gs祟剔、iPhone4、iPhone4s摩梧、iPad物延、iPad 2
armv7s:iPhone5、iPhone5c
arm64:iPhone5s仅父、iPhone6叛薯、iPhone6p、iPhone6s笙纤、iPhone6sp耗溜、iPhone7、iPhone7p粪糙、iPhone8强霎、iPhone8p、iPhoneX
arm64e:iPhone XS蓉冈、iPhone XS Max城舞、iPhone XR
靜態(tài)庫只要支持了armv7 就可以支持armv7s
7.Debug與Release模式切換
Release是發(fā)行版本,比baiDebug版本有一些優(yōu)化,文du件zhi比Debug文件小 寞酿;Debug是調(diào)dao試版本家夺,Debug和Release調(diào)用兩zhuan個不同的底shu層庫。
一伐弹、"Debug是調(diào)試版本拉馋,包括的程序信息更多"
二、只有DEBUG版的程序才能設(shè)置斷點惨好、單步執(zhí)行煌茴、使用TRACE/ASSERT等調(diào)試輸出語句。
三日川、REALEASE不包含任何調(diào)試信息蔓腐,所以體積小、運行速度快龄句。
8.最后command+B編譯一下就可以從Framework文件夾下獲取到需要的lib文件(選中靜態(tài)庫目標(biāo))
9.合并靜態(tài)庫,合并模擬器和真機的靜態(tài)庫這樣就可以即支持模擬器 又支持真機調(diào)試
lipo -create Debug-iphoneos/libFddLib.a Debug-iphonesimulator/libFddLib.a -output libFddLib.a
刪除沖突的架構(gòu)
lipo SNSHumanMachineSDK -remove arm64 -output SNSHumanMachineSDK