WebRTC系列 - 源码编译等

文章目录

  • 一,源码下载
  • 二,本地分支查看问题
  • 三,获取最新分支代码

一,源码下载

  1. cocoapods
    如果只是简单实用WebRTC,则使用其官方发布在cocoapods.org上的framwork:

    注意:框架的pod版本当前不支持bitcode。如果需要bitcode支持,则需要获取源码编译;

    要将其集成到您的项目中,请在Podfile中添加以下几行

    source 'https://github.com/CocoaPods/Specs.git'
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      platform :ios, '9.0'
      pod 'GoogleWebRTC'
    end
    
  2. 源码下载
    鉴于国内网络环境,下载源码前需要搭建好梯子;

    • 安装Chromium depot_tools:
    • 创建一个文件夹,命令行进入该目录,执行fetch webrtc
      -> mkdir webrtc-iOS
      -> cd webrtc-iOS
      -> fetch --nohooks webrtc_ios
      
    • 获取release分支代码
        -> cd src
        -> git branch -r
        -> git checkout <branch_name>
      
      例如:git checkout branch-heads/80
      • 下载代码
         	-> gclient sync
      
      请注意,该容量非常大:大约6GB
  3. 编译 先进入到src下,如图所示的路径:
    WebRTC系列 - 源码编译等_第1张图片

     -> python build_ios_libs.py
     //或者
     -> ./build_ios_libs.sh
  1. 编译xcode工程
   -> gn gen out/ios --args='target_os="ios" target_cpu="arm64"' --ide=xcode
   -> open -a Xcode.app out/ios/all.xcworkspace

二,本地分支查看问题

  1. 进入源代码的src执行git branch -a,如图
    WebRTC系列 - 源码编译等_第2张图片

  2. 更新代码

     -> cd src
     -> git pull
     -> gclinet sync
    
  3. 出现xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instanceTraceback (most recent call last):
    解决:
    sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

  4. 同步代码出现

    	Error: 14> 
    	14> ____ src/buildtools/third_party/libc++/trunk at e713cc0acf1ae8b82f451bf58ebef67a46ceddfb
    	14> 	You have unstaged changes.
    	14> 	Please commit, stash, or reset.
    	解决: gclient sync -f
    
  5. 运行gclient sync,提示錯誤,client not configured see 'gclient config',需要生成.gclient的配置文件,

   	gclient config https://webrtc.googlesource.com/src.git
   	//or
   	从其他webrtc源码中和“SRC/”平级目录下cp;如下图

WebRTC系列 - 源码编译等_第3张图片

三,获取最新分支代码

  1. 切换回master
-> cd /src
-> git remote
-> git checkout master
-> git pull
  1. 切换到最新分支
//执行上面步骤1后:
-> cd src
-> git branch -r //查看远程分支
-> git checkout <branch_name> //例如:git checkout branch-heads/50
-> gclient sync

你可能感兴趣的:(webrtc,ios)