創建一個靜態庫工程
打開Xcode,點擊File\New\Project,選擇iOS\Framework and Library\Cocoa Touch Static Library新建一個靜態庫工程.
將工程命名為JFTestSDK,然后將工程保存到一個空目錄下。
一個靜態庫工程由頭文件和實現文件組成,這些文件將被編譯為庫本身。
當創建靜態庫工程時,Xcode會自動添加GGTestSDK.h和GGTestSDK.m。你不需要實現文件,因此右鍵單擊GGTestSDK.m選擇delete,將它刪除到廢紙簍中。
創建一個PopMoneyView控件
其實當前的工程就已經可以用了了,是時候為你的庫添加一些功能了。由于本篇教程的關鍵在于教你怎么樣創建一個GGTestSDK.a,而不是怎么樣
構建一個UI控件,這里你可以使用你自己封裝好的控件。將你的控件從Finder中拖到Xcode下GGTestSDK目錄下。
這里有一點要注意了,這里一定要勾選以下三個選項:
然后點擊 Finish 進入工程:
對你的控件的頭文件需要做的另一件事是將其添加到庫的主頭文件GGTestSDK.h中。在這個主頭文件的幫助下,開發者使用你的庫僅僅需要導入一個頭文件,如下面的代碼一樣,而不是自己去選擇自己需要的一塊導入。
接下來就生成靜態庫
1、靜態庫分為手機和模擬器兩種(手機端的只有手機能調用,模擬器的只有模擬器能調用)。
首先,構建模擬器的靜態庫,如圖
點擊libJFTextSDK.a ?com+b編譯就會變黑了
然后show in Finder
之后我拿到這個.a文件 還有和他相關的所有.h文件,存放在一個新的文件夾里(隨便起名越吊越好。我的是:mySDK(我還不想辭職))如下
現在呢,你就可以拿著這個文件夾去揮霍了。將他拖到你要應用了工程中:
你以為這樣就完事了嗎。哼哼,我就知道瞞不住你們,上面已經提到了,只能在模擬器上運行,如果我們鏈接手機:
我滴天,這都是什么鬼?可怕的報錯信息又來了。其實沒什么,對于這些報錯信息,不要慌,他都是有關鍵點的,這個不多說了,有點跑題。上文說了這是由于我們
生成.a文件的時候,是生成的模擬器版本的,想要在手機上用就要生成手機版本的,那么手機版本的怎生成呢?(我都不好意思說了)看圖吧,別打我就行。
改成Device 構建構成(command + B)你就會發現 libGGTestSDK.a 變黑了。
重復之前的步驟 就可以在手機上運行了(但是,模擬器又不能用了。。。。)
接下來,我們就來生成一個雙方都能用的libGGTestSDK.a
首先,打開終端,復制以下命令
lipo -create?/Users/sfy/Library/Developer/Xcode/DerivedData/GGTestSDK-gjmfufrwwxxwbpbigyezzbclphzv/Build/Products/Debug-iphoneos/libGGTestSDK.a /Users/sfy/Library/Developer/Xcode/DerivedData/GGTestSDK-gjmfufrwwxxwbpbigyezzbclphzv/Build/Products/Debug-iphonesimulator/libGGTestSDK.a -output /Users/sfy/Desktop/libGGTestSDK.a