iOS中生成並導入基於Swift編程語言的Framework

從iOS 8.0開始就引入了framework打包方式以及Swift編程語言。咱們能夠主要利用Swift編程語言將本身的代碼打包成framework。不過當前Xcode 7.x在自動導入framework包的時候不太智能,所以須要作一些善後處理。編程

 

首先,在生成framework時,要暴露給外部的結構體、類、枚舉、函數等都須要用public關鍵字來修飾,不然外部是訪問不到這些類型以及函數的。此外,在結構體和類中,不能缺省初始化方法,必須用public暴露給外部,不然也同樣沒法被訪問到。swift

其次,當咱們生成好framework庫以後,先打開framework的包目錄,能夠先用lipo命令將x86與arm不一樣處理器架構生成的二進制文件(exec)給整合一下,放到設備生成的framwork包內。而後將模擬器framework包中的Modules目錄下的.swiftmodule目錄中的全部模塊文件拷貝到設備framework包中的相應目錄內。這樣,將處理完的設備framework目錄包放到實際工程下就能經過編譯和鏈接了。架構

最後,當咱們要執行模擬器運行或真機運行前,將剛纔處理完的framework包複製黏貼到products中最後生成的.app包的Framework目錄下,這個須要手工拷貝完成,不然程序運行時會報image not found的錯誤~app

相關文章
相關標籤/搜索