1.下载源码:
mkdir /Users/alex/work/xcode-workspace/webrtc/webrtc_src/ios/ios
cd ios
fetch --nohooks webrtc_ios (这一步不要出错,否则即使下一步成功了,也会缺少很多东西)
gclient sync
- 可能需要下载工具链
wget commondatastorage.googleapis.com/chromium-br…
mkdir /Users/alex/work/xcode-workspace/webrtc/webrtc_src/ios/ios/src/third_party/llvm-build
- 构建 Release 版: gn gen out/ios_arm64 --args='target_os="ios" target_cpu="arm64" ios_enable_code_signing=true ios_code_signing_identity="BCB9E1BF4EE25C2CDB94588933C37C40952E144C" ios_code_signing_identity_description="" is_debug=false rtc_include_tests=false is_component_build=false ios_deployment_target="12.0" rtc_libvpx_build_vp9=true enable_ios_bitcode=false use_lld=true use_goma=false rtc_enable_objc_symbol_export=true enable_dsyms=true enable_stripping=true' --ide=xcode
Debug版 gn gen out/ios_arm64 --args='target_os="ios" target_cpu="arm64" ios_enable_code_signing=true ios_code_signing_identity="BCB9E1BF4EE25C2CDB94588933C37C40952E144C" ios_code_signing_identity_description="" is_debug=true rtc_include_tests=false is_component_build=false ios_deployment_target="12.0" rtc_libvpx_build_vp9=true enable_ios_bitcode=false use_lld=true use_goma=false rtc_enable_objc_symbol_export=true enable_dsyms=true enable_stripping=false' --ide=xcode
(通过xcrun security find-identity -v -p codesigning 获取所有证书信息)
(Edit the file src/examples/objc/AppRTCMobile/ios/Info.plistand change the valuecom.google.AppRTCMobile with your own bundle identifier.
Edit the filesrc/sdk/objc/Framework/Info.plist and change the valueorg.webrtc.WebRTCwith your own bundle identifier )
ninja -C out/ios_arm64 AppRTCMobile (ninja -C out/ios_arm64 framework_objc) 或者xcode打开,然后build并安装
- 小工具: otool -L WebRTC nm WebRTC -arch arm64 | grep 'RTCInitializeSSL'