1、新建項目 –> Cocoa Touch Static Library
2、添加庫需要包含的代碼
3、將需要暴露的.h文件暴露出來,.m會自動編譯到.a文件中
4、分別選擇真機(jī)設(shè)備和模擬器,command + B編譯,staticTest會從紅色變成黑色。真機(jī)和模擬器環(huán)境下用的.a文件是分開的。
5、在“Show in Finder ”,可以看到編譯生成的.a 和 暴露的.h文件。
Note:
- Debug-iphoneos 文件夾里面的東西是用在真機(jī)上的
- Debug-iphonesimulator 文件夾里面的東西是用在模擬器上的
- 如果 Scheme 是 Release 模式,生成的文件夾就以 Release 開頭
調(diào)試版本 VS 發(fā)布版本
- 調(diào)試版本會包含完整的符號信息,以方便調(diào)試
- 調(diào)試版本不會對代碼進(jìn)行優(yōu)化
- 發(fā)布版本不會包含完整的符號信息
- 發(fā)布版本的執(zhí)行代碼是進(jìn)行過優(yōu)化的
- 發(fā)布版本的大小會比調(diào)試版本的略小
- 在執(zhí)行速度方面,發(fā)布版本會更快些,但不意味著會有顯著的提升
當(dāng)我們需要打包的.a文件里面用到了圖片等資源文件。此時我們不該直接把resource文件夾拖進(jìn)項目,而是建立.bundle文件,然后把圖片等資源放進(jìn).bundle里面管理。
在其他項目中使用我們打包的.a文件時,只需要將.a文件和暴露的.h文件以及資源文件.bundle(有Xib時還需要拖Xib)拖進(jìn)新項目即可使用。
如果想要使打包好的.a文件能同時在模擬器和真機(jī)上使用,需要將兩個.a文件進(jìn)行合并。在終端輸入指令:
lipo -create~/Debug-iphoneos/libstaticTest.a~/Debug-iphonesimulator/libstaticTest.a-output ~/libstaticTest.a