標籤:
一、開發SDK時的支援情況:
OC語言製作動態庫時,支援iOS8+;OC語言製作靜態庫,支援iOS7+。
Swift語言製作動態庫時,支援iOS8+;Swift不支援靜態庫。
對於SDK來說,支援情況非常重要。像我就是一開始就被坑了,我使用Swift開發動態庫的方式提供SDK,所以只能支援到iOS8+。但這意味著所有使用我的SDK的客戶的APP都必須到iOS8+,這就坑爹了。
所以假如需要支援iOS7的話,只有使用OC語言開發.a靜態庫的一條路。
二、開發動態庫的簡易過程:
開發動態庫時,只要通過建立工程時選擇Cocoa Touch Framework就可以了,可以選擇OC或Swift語言開發。
建立完SDK工程後,再建立一個APP的工程作為demo,把之前的工程拖進來,並把sdk產生的product加入app工程的link library,通過工程組合的方式進行開發,調試非常方便
1.
2.
3.
開發動態庫看似簡單,但還是會遇到一些棘手的問題,比如OC開發SDK時,swift工程如何調用(或是Swift開發的動態庫,讓OC支援),資源檔找不到等,環境配置等。
一些問題我都總結在這篇文章內
http://www.cnblogs.com/rayshen/p/5330512.html
二、開發靜態庫的簡易過程:
開發靜態庫時(只能用OC語言開發了),只要通過建立工程時選擇Cocoa Touch Static Library
和之前一樣,我們最好再建立一個APP的工程做Demo,方便調試自己的SDK
2.建立新的APP工程,並拖入靜態庫的SDK工程
3.加入.a的索引
四、開發靜態庫時的資源管理
1.選擇SDK的工程,點擊target中的+,然後選擇OSX,增加資源Bundle的target(這點真的非常傻逼,iOS居然沒有建立Bundle的選項,笑了)
2.修改Bundle的target為 iOS
3.假如我們建立一個controller,帶XIB的,選擇bundle->build phases,加入xib,或者image等資源檔
然後在新的APP工程中,把.h,.a,.bundle一起提供,就可以使用了。
iOS XCode7製作.Framework動態庫和.a靜態庫的總結