柚子快報(bào)激活碼778899分享:xcode生成靜態(tài)庫(kù).a
柚子快報(bào)激活碼778899分享:xcode生成靜態(tài)庫(kù).a
一、生成靜態(tài)庫(kù)
1.打開(kāi)?Xcode?創(chuàng)建一個(gè)新的?Static?Library?工程,取名applestudio
2.創(chuàng)建工程完畢后,簡(jiǎn)化目錄結(jié)構(gòu)
刪除系統(tǒng)自動(dòng)創(chuàng)建的同名類(lèi):applestudio.h和applestudio.m
把自己的代碼復(fù)制進(jìn)去,如例子:guiconnect.h?和?guiconnect.m
3.設(shè)置適配所有模擬器架構(gòu):
project?->?buildSeting?->?Build?Active?Architecture?Only?設(shè)為?NO
4.提供的靜態(tài)庫(kù)為release版本的:
Edit?Scheme->Run->Release/Debug分別進(jìn)行編譯
5.Command?+?B?運(yùn)行工程進(jìn)行編譯打包,發(fā)現(xiàn)沒(méi)有生成.a文件
解決:
設(shè)置生成路徑:
?項(xiàng)目?-?TARGETS?-?點(diǎn)擊+號(hào)?-?Add?User-Defined?Setting;
?添加?CONFIGURATION_BUILD_DIR?然后在Value中設(shè)置好想要導(dǎo)出的路徑地址;
如下:
6.重新Command?+?B?運(yùn)行工程進(jìn)行編譯打包完成后,設(shè)置的路徑下生成了.a文件和include文件夾
二、對(duì)靜態(tài)庫(kù)的使用
1.創(chuàng)建一個(gè)iOS項(xiàng)目,把生成的.a文件和include文件夾拖拽到項(xiàng)目根目錄下,拖拽之前先把路徑簡(jiǎn)化下,include文件夾下放.h文件和.a文件,如:
其中:.h的路徑可以在編譯前設(shè)置:
注:拖拽時(shí)勾選上如下:
Copy items if needed / 是否應(yīng)該拷貝目標(biāo)文件到項(xiàng)目目錄,具體位置和拖動(dòng)至的地點(diǎn)相同;如果不勾選,則不拷貝;即項(xiàng)目從原地址引用目標(biāo)文件。
2.?驗(yàn)證代碼:
3.靜態(tài)庫(kù)程序調(diào)試:
創(chuàng)建一個(gè)iOS項(xiàng)目,然后點(diǎn)擊加號(hào)創(chuàng)建一個(gè)靜態(tài)庫(kù)
還可以打斷點(diǎn)調(diào)試
三、對(duì)生成的.a庫(kù)cpu架構(gòu)的驗(yàn)證和合成
1.終端查看靜態(tài)庫(kù)所支持的架構(gòu):終端?->?cd?進(jìn)入庫(kù)文件路徑?->?lipo?-info?庫(kù)名
可以看到靜態(tài)庫(kù)只支持?arm64?x86_64
2.如果要同時(shí)支持模擬器和真機(jī),請(qǐng)使用命令合成?.a?靜態(tài)庫(kù):
lipo?-create?[name1.a?所在路徑]?[name2.a?所在路徑]?-output?[newname.a]
參考:https://blog.51cto.com/u_16099252/7150796
柚子快報(bào)激活碼778899分享:xcode生成靜態(tài)庫(kù).a
文章來(lái)源
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。