和上兩篇文檔一樣,這篇文檔也是去年在前公司寫的,現(xiàn)在貼出來,希望對有需求的同學(xué)有所幫助。PS*此文檔截圖均來自Xcode7.3.1
一.a工程新建
打開XCode新建工程選擇Framework&Library -> Cocoa Touch Static Library點擊next輸入工程名,機(jī)構(gòu)名,選擇語言點擊next生成新的工程。

二.a工程配置
1.設(shè)置支持的iOS最低版本

2.配置支持的的真機(jī)架構(gòu)

為了使編譯的.a文件適配所有機(jī)型,首選將設(shè)置用只支持當(dāng)前架構(gòu)的選項(Buil Active Architectrue Only)的值設(shè)為No。

項目真機(jī)編譯時默認(rèn)支持arm64(iphone5s及以上手機(jī)使用),armv7(iphone4s及以下手機(jī)使用)架構(gòu),所以為了適配所有機(jī)型需要加上iphone5和iphone5c的armv7s架構(gòu),故如上圖所示:點擊Architecture選擇other點擊“+”添加arm64,armv7,armv7s。
3.配置編譯文件以及關(guān)聯(lián)庫

4.項目代碼
代碼的書寫以及導(dǎo)入庫的方式和APP工程一樣。
三.a靜態(tài)庫生成
1.由于供人使用的靜態(tài)庫都處在release模式下所以在生成.a文件時要將工程至于release模式下;

如上圖點擊工程選擇Edit Scheme如下圖

將Build Configuration的值設(shè)置為release。
2.先設(shè)置編譯支持設(shè)備為Generic iOS Device,再按command+b生成適配真機(jī)的.a文件

3.設(shè)置編譯支持設(shè)備為某一款模擬器,再按command+b生成適配模擬器的.a文件;
4.上訴兩步之后可在便生成了release模式下真機(jī)和模擬器的兩套.a文件,下一步就是講兩個.a文件融合生成一個適配模擬器和真機(jī)的靜態(tài)庫,具體如下:

a.打開命令行工具cd到Products(存儲兩個.a文件的文件夾)文件路徑下

b.在工具中輸入:lipo –create模擬器.a路徑真機(jī).a路徑–output新的靜態(tài)庫.a然后回車即可生成新的靜態(tài)庫,如下圖


然后將此.a文件和頭文件文件夾(例如上圖中的socialSDK)項目中并添加相關(guān)依賴庫即可使用。
->>>>以下是在APP項目中使用.a需要做的
c.依賴庫添加,這里以靜態(tài)庫中封裝了,QQ,wechat,sina,99click,AFNetworking,以及RSA,MD5相關(guān)庫和代碼為例。
1>首先添加如下系統(tǒng)依賴庫;

2>添加QQ,wechat,sina等的第三方SDK添加到項目中;
3>將工程Build Setting下Linking中Other Linker Flags的值設(shè)成–all_loady以及-fobjc-arc;將Build Option下的EnableBitcode設(shè)置成No。
通過以上設(shè)置后項目即可正常編譯。
ps*swift由于還不穩(wěn)定故不要有使用他做SDK的想法,老老實實用OC。