iOS -開篇最詳細GPUImage的靜態(tài)庫集成步驟

最近公司的項目需要使用到GPUImage這個框架,本來我們做濾鏡有四種方式:
1、iOS8.0以上可以UIVisualEffectView做簡單的濾鏡
2、Accelerate.framework 蘋果庫,性能最好,有個vImage API
3、系統(tǒng)框架Core Image自帶的濾鏡效果,常用類:CIContext, CIImage, CIFilter Core Image都提供了大量的濾鏡(Filter)
詳情可以通過查看官方文檔 Core Image官方文檔鏈接
4、采用開源庫GPUImage,開源庫GPUImage下載鏈接
本文采用第四種方式,擴展性強

第一步######

下載開源庫GPUImage,下載地址:https://github.com/BradLarson/GPUImage
下載之后文檔結構如圖

Snip20170227_25.png
Snip20170227_25.png

下載下來感覺悶了,即不是SDK可以簡單集成,也不是類似于AFN可以使用cocoPods管理,那么我們項目要使用該怎么辦呢?各位看官不用著急,看文檔了解到需要我們自己生成一個靜態(tài)庫(末尾是.a的那種),那么下面就詳細的介紹怎樣生成我們項目中所要用到的靜態(tài)庫。

第二步######

用xcode打開ios項目


Snip20170227_26.png
Snip20170227_26.png

此時我們要想想,我們自己生成靜態(tài)庫有幾種:

模擬器使用的CPU架構
iPhone4s-iPhone5 : i386
iPhone5s-iPhone6plus : x86_64
真機使用的CPU架構
iPhone3gs-iPhone4s : armv7
iPhone5-iPhone5c : armv7s
iPhone5s-iPhone6plus : arm64
特殊:armv7可以在armv7s上正常運行
同時要考慮項目在debug模式和release模式都可能使用,
難道我們要生成四個靜態(tài)庫嗎?
debug模式: 模擬器一個 + 真機一個
release模式: 模擬器一個 + 真機一個
最后結論:我們只要生成兩個release版本就可以了模擬器一個+真機一個,當然也可以根據您的項目需求來定

第三步:開始生成######

注意:把Headers文件夾下 Project中的頭文件,全部拖到 Public文件夾下面


Snip20170227_27.png
Snip20170227_27.png
第三步:編譯生成######

1、首先生成模擬器+Debug模式下的文件
選擇模擬器狀態(tài)(任意模擬器)+ Debug模式 + (command +B編譯)


Snip20170227_28.png
Snip20170227_28.png

此時打開項目的Products->libGPUImage.a(Show in Finder)可以查看生成的靜態(tài)庫


Snip20170227_29.png
Snip20170227_29.png

2、然后同樣的方法生成選擇模擬器狀態(tài)(任意模擬器)+ Release版本的靜態(tài)庫,只需要切換Dubug模式->Release模式 Command +B運行生成


Snip20170227_34.png
Snip20170227_34.png

3、生成真機狀態(tài)下的Dubug模式的靜態(tài)庫 Command +B 生成

Snip20170227_38.png
Snip20170227_38.png

4、同理可以生成真機狀態(tài)下Release模式下的靜態(tài)庫 Command +B 生成
最后生成4個靜態(tài)庫


第四步:查看靜態(tài)庫支持的架構######

打開你的終端,輸入終端指令 :
lipo -info 庫的路徑


Snip20170227_40.png
Snip20170227_40.png
第四步:合成靜態(tài)庫######

考慮到我們的項目需要上架app,肯定要Release,同時我們又要考慮我們的模擬器也要用,所以最后合成Release模式兩個靜態(tài)庫,模擬器狀態(tài)一個+真機狀態(tài)一個


Snip20170227_41.png
Snip20170227_41.png

合成的方法:

首先打開終端并利用cd指令進入到靜態(tài)庫的路徑,然后利用終端輸入:
lipo -create 靜態(tài)庫1路徑 靜態(tài)庫2路徑 -output 合并的靜態(tài)庫
最后可以得到靜態(tài)庫為


Snip20170227_42.png
Snip20170227_42.png
第四步:導入合成的靜態(tài)庫到我們的項目中######

1、直接把生成的靜態(tài)庫libGPUImage.a+usr文件夾(.h)拖到我們的工程中


Snip20170227_43.png
Snip20170227_43.png

2、導入關聯(lián)的系統(tǒng)框架


Snip20170227_45.png
Snip20170227_45.png

3、導入頭文件就可以使用

我只能幫您到這里了。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容