新建項(xiàng)目時(shí)具滴,選擇framework
![](http://upload-images.jianshu.io/upload_images/1862499-5cb819a010c1d37b.png)
![](http://upload-images.jianshu.io/upload_images/1862499-f20f3d96d0f068f6.png)
在 Build Phases中 將需要公開的文件放入 Header 中 Public
framework分為模擬器和真機(jī)兩種
點(diǎn)擊TestFramework,選中 Edit Scheme
![](http://upload-images.jianshu.io/upload_images/1862499-323f8047a2a83c9f.png)
將 Debug 改為Release
分別選模擬器和真機(jī)編譯
![](http://upload-images.jianshu.io/upload_images/1862499-fc353a1f7e7676c7.png)
編譯完成后我們可以看到 Products 中的TestFramework
![](http://upload-images.jianshu.io/upload_images/1862499-164ab6e4384e36f7.png)
然后 show in finder 找到對應(yīng)生成的framework
![](http://upload-images.jianshu.io/upload_images/1862499-86aee7b9829a0ad8.png)
此時(shí)我們的framework已經(jīng)制作完成力图!
由于真機(jī)與模擬器生成的framework不同 所以需要做的就是將兩個(gè)framework合并役首,
打開終端尝丐, 輸入 lipo ?-info 加上framework中TestFramework文件對應(yīng)的路徑显拜,我們可以看到framework對應(yīng)所支持的版本
![](http://upload-images.jianshu.io/upload_images/1862499-8ca7be4293a6b3f6.png)
![](http://upload-images.jianshu.io/upload_images/1862499-6c2f5947f53423df.png)
如果我們需要將測試的framework和真機(jī)的framework合并在一起就需要一下操作
終端輸入 lipo -create ?加兩個(gè)framework的路徑 加 -output 加 真機(jī)framework路徑
然后我們輸入 lipo -info 加真framework路徑 查看真機(jī)所支持的版本
下面最最最重要的到了!5远荠!
表面上看起來是合并成功了,但是當(dāng)我們將framework放到項(xiàng)目中時(shí)失息,會(huì)發(fā)現(xiàn)譬淳,只能在真機(jī)下,才能運(yùn)行盹兢,而模擬器無法調(diào)用邻梆,
其實(shí)在合并完成后,我們需要將測試framework中绎秒,對應(yīng)Modules / Testframework.swiftmodule/中的四個(gè)文件復(fù)制到真機(jī)framework中對應(yīng)的位置浦妄。
最后將復(fù)制合并后的framework添加到項(xiàng)目中,并在General 中 Embedded Binaaries 點(diǎn)擊“+”添加 framework庫
至此framework的制作基本完成见芹。
如果需要適應(yīng)最新xcode版本就需要在最新的系統(tǒng)中進(jìn)行此類操作!