文档中心 / iOS 客户端

iOS 客户端

iOS 客户端基于 Swift + GoogleWebRTC 构建,内置屏幕共享广播扩展,支持单聊群聊、音视频通话与离线推送,最低支持 iOS 17。工程随源码包完整交付,替换签名、图标与名称后即可上架你自己的品牌。

环境准备

  • macOS 13 及以上,Xcode 15 及以上(App Store 安装);
  • CocoaPods(sudo gem install cocoapods,国内网络建议配置镜像);
  • Apple Developer Program 账号(真机调试与上架必需)。

工程配置

解压源码包中的 ios/ 目录,打开 imm.xcworkspace(注意是 workspace,不是 xcodeproj),其中包含 CocoaPods 管理的依赖(GoogleWebRTC)。

工程包含两个 target:

Target说明
imm主应用
immBroadcastExtension屏幕共享广播扩展

打造自有品牌需要修改:两个 target 的 Bundle Identifier(扩展须为主 App 前缀 + .immBroadcastExtension)、Display Name、App 图标与启动屏。

服务器与推送

  • 运行后在登录页填入你的私有阁服务端地址;
  • 离线推送:在服务端 .env 配置 APNs 四项(见「进阶:基础服务部署」),APNS_BUNDLE_ID 必须与主 App 的 Bundle Identifier 完全一致;
  • 首次使用音视频、相册、屏幕录制时按系统提示授权。

运行调试

首次或依赖变更后先执行:

bash
pod install

打开 workspace → 选择 imm target → Signing & Capabilities 选择你的 Team → 连接 iPhone → Run。模拟器不支持音视频与推送,请使用真机。

打包发布

Xcode 菜单 Product → Archive,通过 Organizer 分发:

  • Ad Hoc:注册设备直装,适合客户演示;
  • TestFlight:内部与外部测试;
  • App Store:上架审核。企业内部分发可走企业签名或超级签,按你的账号资质选择。

常见问题

  • 签名报错:确认开发者账号有效、Bundle Id 未被占用,两个 target 都已选 Team;
  • pod install 失败:配置 CocoaPods 国内镜像后重试;
  • 收不到推送:检查 APNS_BUNDLE_ID 与工程一致、.p8 路径正确、iOS 设备通知权限已开启;
  • 屏幕共享黑屏:iOS 17 需要在控制中心发起屏幕广播,扩展 target 已内置处理。