最近因為項目需要凫海,編譯了兩個平臺下的VLC framework禁舷。經過一番探索,終于找到了正確的編譯步驟谣光。
前期準備工作
你需要準備以下內容:
- 22G以上的硬盤空間檩淋。
- VPN。
- 足夠長的空閑時間萄金。
開始編譯
1. Git VLCKit
在終端中鍵入
git clone https://code.videolan.org/videolan/VLCKit.git
首先將VLCKit的原始文件git下來蟀悦,這個過程不需要開VPN媚朦,同時文件很小,所以耗時很少日戈。
提示done就說明git完成询张。
2. 編譯iOS平臺的VLC framework
進入git下來的VLCKit文件夾中,可以看到一個名為compileAndBuildVLCKit.sh
的文件涎拉。這個文件是幫助我們編譯framework的腳本文件瑞侮,打開后就往下拉, 在大概40行左右就可以看到OPTIONS鼓拧。
-k Specify which sdk to use (see 'xcodebuild -showsdks', current: ${SDK})
-v Be more verbose
-s Build for simulator
-f Build framework for device and simulator
-d Enable Debug
-n Skip script steps requiring network interaction
-l Skip libvlc compilation
-t Build for tvOS
-x Build for macOS / Mac OS X
-w Build a limited stack of non-scary libraries only
-y Build universal static libraries
-b Enable bitcode
-a Build framework for specific arch (all|i386|x86_64|armv7|armv7s|aarch64)
-e External VLC source path
在每一項的后面都給出了操作的用處半火,這里我們需要關注兩項。如果你需要編譯iOS平臺下的framework季俩,那么你需要使用-f
參數(shù)钮糖。如果你需要編譯macOS平臺下的framework,則你需要使用-x
參數(shù)酌住。tvOS平臺同理店归。
打開終端,進入到VLCKit目錄下酪我,開啟VPN后執(zhí)行以下命令:
sh compileAndBuildVLCKit.sh -f
這個過程將會耗時2h甚至更多消痛,最終會產生15G+的文件。我的mac比較老都哭,因此耗時很長秩伞。
說明:
這個過程和以前老的VLCKit的編譯過程有差異,原來在VLCKit文件夾下有兩個.sh
文件欺矫。一個用于編譯iOS平臺纱新,另一個用于編譯macOS平臺。我發(fā)現(xiàn)使用老的VLCKit文件在macOS Mojave & Xcode 10下怎樣都編譯不過穆趴,因此使用了新的VLCKit文件脸爱。
原來編譯iOS平臺下的過程分為3步:
- 編譯源文件。
- 編譯模擬器環(huán)境下的framework未妹。
-s
- 編譯真機環(huán)境下的framework簿废。
-f
因此整個庫完整的編譯成功需要執(zhí)行3次腳本命令,而現(xiàn)在合成了一步络它,但時間上好像更長了捏鱼。
經過超長的等待后,終端中顯示completed
酪耕,則說明你編譯成功。編譯成功的framework在/VLCKit/build目錄下轨淌,名字叫MobileVLCKit.framework
迂烁,文件大小大概在600M+看尼。
至此iOS平臺下的編譯工作就全部完成。
3. 編譯macOS平臺下的VLC framework
建議重新git一份VLCKit文件來專門編譯macOS版本的framework
編譯macOS平臺與iOS相仿盟步,差別在于命令參數(shù)的區(qū)別藏斩。在這里你需要輸入:
sh compileAndBuildVLCKit.sh -x
保持VPN暢通的情況下,等待大約1h左右却盘,最終會產生5G+的文件狰域。
經過漫長的等待后,終端中同樣也會顯示completed
黄橘,說明你編譯成功兆览。編譯成功的framework在/VLCkit/build/Release下,文件大小大概在300M+塞关。
至此macOS平臺下的編譯工作就全部完成抬探。
其他說明
·二次編譯
如果你不慎遺失了framework,而整個VLCKit的文件都還在帆赢,你想重新編譯MobileVLCKit.framework & VLCKit.framework
小压。則你需要對.sh
進行如下修改。
打開compileAndBuildVLCKit.sh
文件椰于,在其中搜索git
并注釋掉這一段:
之后重新運行腳本就不會進行l(wèi)ibvlc的拉取過程怠益,編譯時間會縮短很多。
·自定義VLC framework
如果你需要對VLC framework內部做一些自己的改動瘾婿,加自己的函數(shù)蜻牢,并公開到外部使用。編譯也是同樣的步驟憋他,不過可能會碰壁孩饼。如果有需要可以留言幫你解決。