使用Swift打包framework的步驟(圖文)


本文主要記錄了使用Swift打包帶界面的framework的步驟

需求: 打包一個framework供其他應用植入, 可以跳轉(push或present)到framework的界面, 然后再把拿到的數據返回到主界

准備階段: 

1.使用Swift寫好一個界面, 運行測試成功后, 留着備用(不建議使用xib, 建議使用純代碼搭建界面)-- 記得在需要外界引用的類用public修飾

2.如果涉及到圖片, 先新建一個文件夾, 把界面需要到的所有圖片放到里面, 然后修改文件夾后綴名加上".bundle"

3.將bundle包放入項目中, 加載圖片時, 使用 userBGView.image = UIImage.init(named: "img.bundle/input_bg") 這樣的格式加載圖片

開始打包framework:

1. 新建工程, 選擇framework

2.把之前運行好的程序的文件和Bundle圖片包, 直接拖拽到項目中

 

3.點擊Target--Build Phase--Headers, 把所有需要引用的文件拖拽到public去, 如果沒看到該文件, 可以點擊+號選擇(包括OC的.h文件)

4. 在xxxx(framewor項目名).h文件中, 導入OC的.h文件(如果不涉及OC文件, 這個步驟可以省略)

5.把之前寫好的界面里面的所有圖片加載方式加上"xxx(項目名稱).framework"前綴(這一步很重要, 不然圖片會加載失敗)

之前是: userBGView.image = UIImage.init(named: "img.bundle/input_bg")的

修改后: userBGView.image = UIImage.init(named: "KyyLoginView.framework/img.bundle/input_bg"

6.選擇Edit Scheme -- Run -- Build Configuration

根據需求編譯所需的framework格式, 一般都是兩種:  debug--模擬器  或者  release--真機

7.選擇完畢后, command + B 編譯, 然后會看到Products中的framework變成黑色了, 右鍵點擊 show in finder, 可以直接拿到framework使用

到這里, 整個制作framework的過程就全部完成了

 

下面, 簡單介紹一下使用

1.打開你需要導入framework的項目, 把之前制作好的framework復制到這個項目的文件中

2.在這個項目的Target中, 點擊General--Embedded Binaries 點擊 + 號, 然后點擊 "Add Other...", 找到你剛才復制framework的目錄, 選擇framework

然后你會在Embedded Binaries 和 Linked Framework and Library 中看到這個framework

3.點擊Target--Build Phases 中的 Copy Bundle Resource, 點擊 + 號, 選擇你的framework

 

ok, 到這里, 已經加載framework完成了, 編譯試試

然后直接import引用framework, 之后就可以直接使用之前public出來的類了

 

我遇到的坑:

1. 使用xib, 怎么搞都不行. 解決辦法: 放棄xib搭界面, 使用純代碼. 雖然花點時間, 但是起碼不會有太多的坑

2. 加載framework時無法引用public的類. 解決辦法: 在制作framework的時候, 記得"第3步"把需要引用的類拖拽到public中去

3. 圖片加載不出來. 解決辦法: 記得在加載圖片時, 加上"xxx.framework/"的前綴


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM