公司最近需求:完整版的項目代碼需要給別人使用,但是不希望別人看到源碼
解答:需要以庫的形式進行封裝,只暴露出頭文件
語言背景:Object-C
記錄封裝庫的歷程吧,希望一路順暢??
- 查看了一下靜態(tài)庫,動態(tài)庫與 Framework的定義區(qū)別。
——>需要把項目代碼封裝成靜態(tài)庫。 - 參考iOS 完整項目制作Framework
- 創(chuàng)建和使用靜態(tài)庫
...
我的操作:
- 創(chuàng)建一個Cocoa Touch Framework
- 把之前除了appdelegate以及ViewController等項目文件導(dǎo)入工程。
自己動手創(chuàng)建靜態(tài)庫粗線的問題:
- 如果直接封裝靜態(tài)庫Cocoa Touch Static Library,后綴為.a。項目中使用了charts框架,不能識別導(dǎo)入charts.workspace文件
封裝成Cocoa Touch Framework。
- OC類中找不到charts中的文件
預(yù)編譯一下,在Products中,右鍵單擊 項目.framework,在Header文件夾中找到 項目-Swift.h,這個文件中包含有swift的全部類,導(dǎo)入工程中。(摸索中,不知道湊效不)
- 之前寫入.pch文件,可以預(yù)編譯的類,不能使用了
在報錯的文件中導(dǎo)入需要的文件類。這樣太麻煩了,有可能是我對封裝過程理解的不夠。之后后話吧/(ㄒoㄒ)/~~
- 最頭痛的問題:由于framework里邊不能導(dǎo)入APPdelegate,所以之前在APPdelegate中的屬性不能使用,有關(guān)跳轉(zhuǎn)到根目錄的操作不能完成。現(xiàn)在還沒有解決方法。
原因:由于打包類庫工程不是一個完整項目工程,所以并沒有AppDelegate等文件,所以涉及到這些的文件要額外處理,或改代碼,或適當改變功能。