最近項(xiàng)目中需要用到播放器,所以接入了B站的IJKPlayer,但是在編譯時(shí)遇到了問題。執(zhí)行 ./compile-ffmpeg.sh?all 這一步時(shí)報(bào)錯(cuò),如下:

原因是apple現(xiàn)在不允許32位的應(yīng)用上架AppStore了,弱化了對(duì)armv7的處理
arm64:iPhone6s?|?iphone6s?plus|iPhone6|?iPhone6?plus|iPhone5S?|?iPad?Air|?iPad?mini2(iPad?mini?with?Retina?Display)
armv7s:iPhone5|iPhone5C|iPad4(iPad?with?Retina?Display)
armv7:iPhone4|iPhone4S|iPad|iPad2|iPad3(The?New?iPad)|iPad?mini|iPod?Touch?3G|iPod?Touch4
i386是針對(duì)intel通用微處理器32位處理器
x86_64是針對(duì)x86架構(gòu)的64位處理器
模擬器32位處理器測(cè)試需要i386架構(gòu),
模擬器64位處理器測(cè)試需要x86_64架構(gòu),
真機(jī)32位處理器需要armv7,或者armv7s架構(gòu),
真機(jī)64位處理器需要arm64架構(gòu)。
解決方法是:
需要在?compile-ffmpeg.sh?刪除 armv7 , 修改方法如下:


也就是將 FF_ALL_ARCHS_IOS8_SDK="armv7?arm64?i386?x86_64" 改為?FF_ALL_ARCHS_IOS8_SDK="arm64?i386?x86_64"
接著重新執(zhí)行編譯ffmpeg的命令: ./compile-ffmpeg.sh?all
編譯完成接入到項(xiàng)目,編譯時(shí)報(bào)錯(cuò)

需要注釋兩個(gè)文件的引用代碼。兩個(gè)文件分別是avconfig.h和config.h
如果點(diǎn)擊報(bào)錯(cuò)的地方?jīng)]反應(yīng),全局搜索也找不到,那么你就需要直接到文件目錄去找了

反鍵選擇Reveal in Log,根據(jù)路徑找到avconfig.h

直接打開,然后注釋掉# include "armv7/avconfig.h"

config.h也是同理


也是打開,然后注釋掉# include "armv7/config.h"
