构建 WebRTC for IOS AppRTCMobile 项目

在之前的几篇文章中,我们已经学习了如何在 WebWindows 和 Android 平台上封装和建立一个 P2P 和 P2PS 音视频通话项目。然而,我们还没有讨论在 Linux 和 iOS 平台上如何操作。因此,这篇文章将首先介绍如何在 iOS 平台上构建 WebRTC AppRTCMobile 项目。在后续的文章中,我们将继续探讨 Linux 平台的实现。

这是 Android 与 IOS 基于 webrtc:m98 构建的通话效果:

构建 WebRTC for IOS AppRTCMobile 项目

环境搭建

由于我们主要搭建官方的 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 ,将 rtc_use_h264 = false  改为 false

1.2 安装失败

构建 WebRTC for IOS AppRTCMobile 项目

ios 安装没有 android 那么方便,它对安装的应用安全性较高,所以我们要进行编译打开签名的配置

ios_enable_code_signing = true

1.3 Bundle Identifier & info.list 修改保持一致

CFBundleIdentifier

xxx.xxx

1.4 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 项目

解决办法是升级 OS 和 XCode 到最新版本。

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

构建 WebRTC for IOS AppRTCMobile 项目

到这里,就能编译成功并运行起来了。

总结

今天算是搞了一天,最后终于是运行起来并达到了预期。

后续我们将继续分享 webrtc 相关的知识,下期再会!

作者:DevYK
原文:https://mp.weixin.qq.com/s/fenFkUPFQTQNO_q9HijJEA

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论