简介

在之前的几篇文章中,我们已经学习了怎样在 WebWindowsAndroid 平台上封装和树立一个 P2P 和 P2PS 音视频通话项目。但是,我们还没有评论在 LinuxiOS 平台上怎样操作。因而,这篇文章将首要介绍怎样在 iOS 平台上构建 WebRTC AppRTCMobile 项目。在后续的文章中,我们将继续讨论 Linux 平台的完成。

这是 AndroidIOS 基于 webrtc:m98 构建的通话效果:

构建 WebRTC for IOS AppRTCMobile 项目

怎样还想了解 WebWindowsAndroid 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 编译

  1. clone webrtc

    git clone git@github.com:yangkun19921001/OpenRTCClient.git
    git checkout develop
    
    #配备 OpenRTCClient/build_system 环境变量
    cd OpenRTCClient/webrtc
    webrtc_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 ,改为 false
rtc_use_h264 = false

1.2 设备失败

构建 WebRTC for IOS AppRTCMobile 项目

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 绝对路径

工作 AppRTCMobile

编译完成后,找到下图的文件然后双击翻开

构建 WebRTC for IOS AppRTCMobile 项目

翻开后是这样的

构建 WebRTC for IOS AppRTCMobile 项目

进行签名配备:

构建 WebRTC for IOS AppRTCMobile 项目

配备 info.plist 路径

构建 WebRTC for IOS AppRTCMobile 项目

还有一个问题,因为我其时 IOS 版别是 16.5.1 ,然后 XCode 报不支持该设备

构建 WebRTC for IOS AppRTCMobile 项目

解决办法是晋级 OSXCode 版别,晋级后的版别为:

构建 WebRTC for IOS AppRTCMobile 项目

构建 WebRTC for IOS AppRTCMobile 项目

然后,终究一步还需要再 IPhone -> 设置 -> 通用 -> VPN 与设备管理中找到我们刚刚工作的 app, 然后点击信任。

构建 WebRTC for IOS AppRTCMobile 项目

到这儿,就能编译成功并工作起来了。

总结

今天算是搞了一天,终究终所以工作起来并达到了预期。

后续我们将继续共享 webrtc 相关的常识,下期再见!