一、靜態庫創建
打開Xcode, 選擇File ----> New ---> Project 選擇iOS ----> Framework & Library ---> Cocoa Touch Framework。
點擊Next ,按照流程一步一步的創建yooweiSDK,最后選擇存放的位置即可。
主要過程可以參考我前面的有關文章:http://www.cnblogs.com/richard-youth/p/4988125.html
注意設置:
1、將Build Active Architecture Only 設置為NO
2、TARGETS (yooweiSDK) - Build Settings-Mach -O-type 將其設置成靜態庫 Static Library
3、調整最低支持的iOS系統
4、TARGETS (yooweiSDK) - Build Settings-Architectures 增加armv7s。 如果你用的真機是iPhone5 C,生成的Framework不支持armv7s,默認的Architectures不包含armv7s。 所以要在Architectures下增加armv7s,並選中。
5、如果 SDK 有用到 Category,注意項目設置 Other Linker Flags 添加 -ObjC
6、TARGETS (yooweiSDK) - Build Settings-ENABLE_BITCODE 設置為NO . 否則真機上跑會報ld: -bundle and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together
二、靜態庫生成
1、創建完靜態庫的空殼后,我們開始創建所需要的類,拖進用到的資源文件和第三方的開源庫以及SDK。如下圖所示:
需要注意的是:所有第三方公共使用的庫和SDK不能添加到target里面
2、創建資源包yooweiResource.bundle
我們采用在同一個project 里面創建新的target,如圖
切換scheme 然后運行,分別可以得到靜態庫和bundle 資源文件
三:在demo中使用靜態庫
分別將生成的靜態庫和資源包文件,以及必要的第三方庫和SDK添加到demo里面
在使用的時候,遇到幾個問題,記錄下來:
1、在制作靜態庫的時候需要設置ENABLE_BITCODE 為 NO ,demo 工程里面也要設置為NO
2、制作靜態庫的時候,必要的文件沒有添加到target里面,導致這些在demo中找不到文件。
以上為詳細記錄靜態庫創建、bundle資源包創建,以及引用第三方的SDK和開源庫的一個流程。
注意:靜態庫文件里面的可以修改,但是在真正使用的地方,還是原來的,不會生效,所以不能在靜態庫里面直接改掉(經驗)。