iOS工程中建立並使用SDK
iOS工程中建立並使用一個SDK,俗稱.a檔案
建立一個靜態庫工程
開啟Xcode,點選File\New\Project,選擇iOS\Framework and Library\Cocoa Touch Static Library新建一個靜態庫工程.
將工程命名為LCSConnectLib,然後將工程儲存到一個空目錄下。一個靜態庫工程由標頭檔案和實現檔案組成,這些檔案將被編譯為庫本身。
當建立靜態庫工程時,Xcode會自動新增LCSConnectLib.h和LCSConnectLib.m。你不需要實現檔案,因此右鍵單擊LCSConnectLib.m選擇delete,將它刪除到廢紙簍中。
自定義一個控制元件LCSCustomEnvironmentView
其實當前的工程就已經可以用了,是時候為你的庫新增一些功能了。例如添加了一個自定義的view這樣使用者可以直接用這個自定義的view,而不能知道里邊具體怎麼實現的。
對你的控制元件的標頭檔案需要做的另一件事是將其新增到庫的主標頭檔案LCSConnectLib.h中。在這個主標頭檔案的幫助下,開發者使用你的庫僅僅需要匯入一個頭檔案,如下面的程式碼一樣,而不是自己去選擇自己需要的一塊匯入。接下來就生成靜態庫
1、靜態庫分為手機和模擬器兩種(手機端的只有手機能呼叫,模擬器的只有模擬器能呼叫)。
首先,構建模擬器的靜態庫,如圖
選中模擬器,然後command+B,然後點選show
in Finder
之後我拿到這個.a檔案
還有和他相關的所有.h檔案,存放在一個新的資料夾裡
現在呢,將這個檔案拖到你要應用了工程中,引入標頭檔案發現我沒用.m檔案依然可以使用這個自定義的控制元件LCSCustomEnvironmentView
但是,這樣只能給模擬器使用。如果我們使用真機,立馬會報錯,當然是庫不支援真機了。然後選中真機command+
B再來一次
你就會發現 LCSConnectLib.a 變黑了。
重複之前的步驟 就可以在手機上運行了(但是,模擬器又不能用了。。。。)
接下來,我們就來生成一個雙方都能用的LCSConnectLib
終端操作:
首先,開啟終端,看一下各個版本資訊、
果然只是支援x86_64的,然後看看生成的手機版本的資訊
果然手機版本的支援arm7 arm64的,如果我想手機模擬器和手機同時支援呢?肯定要合併這兩個包
合併完成後命名為NewLCSLib,然後檢視下這個包的屬性
果然現在既支援arm7 arm64又支援x86_64了。然後手機模擬器切換測試發現不報錯了。搞定。。。