在之前的几篇文章中,我们已经学习了如何在 Web、Windows 和 Android 平台上封装和建立一个 P2P 和 P2PS 音视频通话项目。然而,我们还没有讨论在 Linux 和 iOS 平台上如何操作。因此,这篇文章将首先介绍如何在 iOS 平台上构建 WebRTC AppRTCMobile 项目。在后续的文章中,我们将继续探讨 Linux 平台的实现。这是Android与IOS基于webrtc:m98构建的通话效果:
如何还想了解 Web 、Windows 、Android WebRTC 开发,可以移步如下文章WebRTC 系列文章
环境搭建

由于我们主要搭建官方的 AppRTCMobile 项目,所以就用不到之前开发的信令服务器,那么就只能用官方提供的 AppRTC 做为信令服务器了。部署 AppRTC 信令服务器
我们可以使用 docker 来进行搭建

#https://hub.docker.com/r/piasy/apprtc-server/docker run --rm --net=host \ -e PUBLIC_IP=<server public IP> \ -it piasy/apprtc-server 示例:docker run --rm --net=host -e PUBLIC_IP=192.144.201.2 -it piasy/apprtc-server检查是否运行起来lsof -i 8080
WebRTC for IOS 编译clone webrtc
git clone git@github.com:yangkun19921001/OpenRTCClient.gitgit checkout develop#配置 OpenRTCClient/build_system 环境变量cd OpenRTCClient/webrtcwebrtc_build gen ios arm64 debug ../build_system/build_options_set/default out webrtc_build build ios arm64 debug ../build_system/build_options_set/default out
在编译的过程中,如果出现如下错误:1.1 ../../../../../webrtc/third\_party/ffmpeg/libavutil/macros.h:28:10: fatal error: 'libavutil/avconfig.h找到 out/ios/arm64/debug/args.gn ,改为 falsertc_use_h264 = false1.2 安装失败
ios 安装没有 android 那么方便,它对安装的应用安全性较高,所以我们要进行编译打开签名的配置
ios_enable_code_signing = true
1.3 Bundle Identifier & info.list 修改保持一致
<key>CFBundleIdentifier</key><string>xxx.xxx</string>
1.3 Xcode 14 - Cannot code sign because the target does not have an Info.plist file
Select Build Settings --> Packaging --> Generate info.plist File = info.plist 绝对路径
相关学习资料推荐,点击下方链接免费报名,先码住不迷路~】
音视频免费学习地址:https://xxetb.xet.tech/s/2cGd0
【免费分享】音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击788280672加群免费领取~
运行 AppRTCMobile
编译完成后,找到下图的文件然后双击打开
打开后是这样的
进行签名配置:
配置info.plist路径
还有一个问题,由于我当前 IOS 版本是 16.5.1 ,然后 XCode 报不支持该设备
解决办法是升级OS和XCode版本,升级后的版本为:
然后,最后一步还需要再 IPhone -> 设置 -> 通用 -> VPN 与设备管理中找到我们刚刚运行的 app, 然后点击信任。
到这里,就能编译成功并运行起来了。
原文 构建 WebRTC for IOS AppRTCMobile 项目