今天有個朋友問了個問題,工程內引用其他工程如何實現,可以在工程裏修改,解釋了半天我才知道他問的其實就是靜態庫。
一般對於自己開發過程中的靜態庫不會做成閉源的,主要是爲了以後的擴展和修改,這個時候就用到了所謂的可在工程內修改的靜態庫。
首先創建一個靜態庫
寫了簡單的方法用於測試,這裏給出的是隻是一個輸出打印
ok,在.m裏實現該方法
編譯一下,不用運行。不管你編譯不編譯都會發現products下的.a文件是紅的,沒關係,不耽誤使用。但必須編譯
在finder中找到該工程
打開你需要引用靜態庫的工程,這裏我又創建了一個新的工程,並將在finder中的libary.xcodeproj拖入到你的工程中
下面是這部很重要,關係到靜態庫能不能使用的問題
1.在link binary with libaries中將靜態庫的.a文件添加進來
2.引入靜態庫的.h文件。如果你靜態庫的類很多,最好把所有的.h文件放在同一個.h中,我們在調用某些第三方sdk時經常會發現只需引用一個.h文件就可以引用到其庫中的所有.h,就是這樣封裝的.做完這些就可以調用方法測試可
方法調用成功。在此工程內修改一下靜態庫的方法
然後看一下打印結果
竟然又她媽的成功了