庫的概念
庫是程序代碼的集合,是共享程序代碼的一種方式根據(jù)源碼公開方式可分為
開源庫仑扑,公開源碼
-
閉源庫放航,是經(jīng)過變異后的二進(jìn)制文件,不公開源碼
閉源庫又主要分為動態(tài)庫和靜態(tài)庫:- 靜態(tài)庫.a/.framework
鏈接時嚷量,靜態(tài)庫會被會被完整復(fù)制到可執(zhí)行文件中陋桂,被多次使用就有多份冗余拷貝
打包成.a文件后在mrc和arc下都可以直接使用。 - 動態(tài)庫.dylib/.framework(iOS9取消了.dylib蝶溶,使用.tdb代替)
鏈接時不賦值嗜历,程序運行時由系統(tǒng)加載到內(nèi)存,供程序調(diào)用抖所,系統(tǒng)只加載一次梨州,多個程序共用,節(jié)省內(nèi)存部蛇。
蘋果不允許上傳的app有動態(tài)庫摊唇。
- 靜態(tài)庫.a/.framework
靜態(tài)庫中可能遇到的問題
"UnDefined symbols for architerture x86_64"可能是模擬器沒有切換到真機。
- 架構(gòu)
- 模擬器架構(gòu)
- iPhone4s/5 i386 32位
- iPhone5s/6/6p/6s/6ps x86_64 64位
- 真機架構(gòu)
- iPhone4s armv7 32位
- iPhone5 armv7s 32位
- iPhone5s/6/6p/6s/6ps arm64 64位