iOS 編譯WebRTC a靜態庫

2022-06-06 14:39:11 字數 1505 閱讀 3131

編譯的方式,我看了幾個帖子,什麼方法都有,這裡我根據我的需求,說說我的做法。我的主要目的是因為網上找不到.a模式的webrtc的靜態庫,都是framework,所以我才自己編譯的。我的需求很簡單,就是需要.a出來。ios版本的webrtc是有自己的編譯指令碼檔案的,我們在這裡面做些修改就可以,指令碼檔案的路徑是:webrtc_build/webrtc/src/tools_webrtc/ios/build_ios_libs.sh

正常情況,如果你不做任何更改,直接執行這個指令碼,會編譯出webrtc.framework,預設路徑會在:webrtc_build/webrtc/src/out_ios_libs  由於我沒有編譯framework,所以沒有圖,但是我猜測的話,應該會有真機的32位和64位的還有模擬器的,因為我編譯的.a就是這幾個。

所以如果你需要去掉不要的版本,還有你需要編譯的.a,在這幾個地方更改下就可以,記得更改是在webrtc_build/webrtc/src/tools_webrtc/ios/build_ios_libs.py  

看清楚字尾 看清楚字尾 看清楚字尾是py

arm64真機64位,個人覺得編這個就夠了其實.....別的都可以刪掉,剩下的是arm是真機32位,x64模擬器64位,x86模擬器32位,根據個人需要刪減。建議大家先備份啊!!

之後的default位置後面改成'static_only'這個大家看到help也知道意思了,我這個圖是改了後的,之前是default='framework'

指令碼對於我來說更改這些就行,如果有其他的需要的話大家可以多研究研究其他的選項。

這裡更改完後儲存退出。

然後執行

./build_ios_libs.sh

就開始一頓編輯....這個時間不算短,我的機器應該有個20分鐘左右。

編譯成功以後,你可以在這個地方找到你的.a靜態庫 

因為我當時忘記刪除不要的架構,所以把4個都編出來了,如果你只編乙個,時間會節省不少,這裡根據你自己的需要,拿去用就好了。還有目前我找到的標頭檔案的位置貌似這個

之後,把.a靜態庫和標頭檔案拖進你的專案裡去使用就好了,當然是建議建個專門的資料夾來存放.a和標頭檔案,記得在xcode中設定build setting裡的header search path 還有設定bitcode為no,靜態庫使用的時候,需要引入其他一些依賴:

webrtc ios&osx 庫的編譯  //我是從這篇文章確定了新的原始碼庫也是可以編譯出.a的,才下了決心去下6個g

iOS靜態庫的編譯

在做第三方的sdk的時候常會把自己的類編譯成靜態庫,在提供給開發者使用的是好就能隱藏自己的私密資訊,如私有api apikey等 此處將開源的jsonkit類庫編譯成靜態庫,然後再使用我們編譯好的靜態庫來來解析乙個json檔案 1.新建靜態庫工程,選擇framework library next 命...

iOS靜態庫的編譯

在做第三方的sdk的時候常會把自己的類編譯成靜態庫,在提供給開發者使用的是好就能隱藏自己的私密資訊,如私有api apikey等 此處將開源的jsonkit類庫編譯成靜態庫,然後再使用我們編譯好的靜態庫來來解析乙個json檔案 1.新建靜態庫工程,選擇framework library next 命...

iOS 編譯簡單靜態庫初探

首先宣告,我寫的這些網上都有更詳細的內容,在這裡只是寫下我自己總結的一些重要內容,具體步驟如下 事先準備 新建工程 framework library cocoa touch static library next 1 編譯適用於真機 arm 的.a檔案 2 編譯適用於模擬器 i386 的.a檔案 ...