生成sdk靜態庫

庫: 就是程序代碼的集合,是共享程序代碼的一種方式

1. 庫分爲:開源庫 和 閉源庫
1.1 開源庫: 公開源代碼,能看到具體實現.如SDWebImage, AFNetworking
1.2 閉源庫: 不公開源代碼,是通過編譯後的二進制文件,看不到具體實現
1.3.閉源庫: 分爲靜態庫 和 動態庫
 
2. 靜態庫 和 動態庫 的存在形式:
2.1 靜態庫:  .a文件 和 .framework文件
2.2 動態庫: .dylib文件 和 .framework文件
 
3. 靜態庫 和 動態庫 的使用上的不一樣:
3.1 靜態庫: 連接時,靜態庫會被完整的複製到可執行文件中,被調用多少次就會有多少份複製(被屢次使用就會有多份冗餘拷貝)
3.2. 動態庫: 連接時不復制,程序運行時由系統動態的加載到內存,供程序調用,系統只加載一次,供多個程序調用,節省內存
 
注意:蘋果官方要求,項目中不能使用自制的動態庫,不然不能上傳到AppStore. 咱們只能使用蘋果提供的動態庫
 
 

**封裝SDK靜態庫(.a文件 和 .h 還有資源bundle)
步驟:
     1. 新建項目
 
 2. 項目名稱:
 
3.刪除自動生成的兩個文件(由於不是咱們要打包的文件)
4.將要打包封裝SDK的文件拖到項目中
 
 
5.告訴暴露哪些頭文件
6.編譯兩次 生成兩種.a文件(模擬器.a 和 真機.a)
 
 
 
7. show in finder 能夠找到.h文件 和封裝成.a的.m文件  還有須要用到的
recourse bundle(資源圖片等) ,就可做爲SDK使用在其餘項目中
 
8.將模擬器.a 和 真機.a 合併的方法:
    使用終端:
               輸出命令:  cd 文件夾路徑 lipo -create 真機.a路徑 模擬器.a路徑 -output 輸出文件名.a
相關文章
相關標籤/搜索