本文主要記錄了使用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/"的前綴
