跳到主要内容

iOS / macOS SDK 安装与配置

MeshStreamKit 为 iOS 和 macOS 应用提供 P2P 媒体分发加速能力。SDK 提供 Objective-C 接口,可与 AVPlayer 或兼容的第三方播放器集成。

当前发布版本为 MeshStreamKit 1.0.8,同一发行包包含 iOS 真机、iOS 模拟器及 macOS 双架构组件。

官方发布包、示例工程及更新说明见 SDK 仓库。

环境要求​

环境最低系统版本
iOS 真机iOS 15
iOS 模拟器(Intel / Apple Silicon)iOS 15
macOS(Intel / Apple Silicon)macOS 12

通过 Swift Package Manager 集成时,Xcode 需支持 Swift Tools 5.9。

接入准备​

  • 在控制台创建应用,获取对应平台的 SDK Key。
  • 确认应用的 Bundle ID 与控制台登记信息一致。
  • 一个可播放的 HLS .m3u8、DASH .mpd、支持 Range 的 MP4 或 MP3 地址;

安装 SDK​

支持 CocoaPods、Swift Package Manager 和手动集成。同一应用 Target 使用一种安装方式。

CocoaPods​

在 Podfile 中添加依赖:

platform :ios, '15.0'

target 'YourApp' do
pod 'MeshStreamKit', '1.0.8'
end

安装依赖:

pod install --repo-update

安装完成后,使用生成的 .xcworkspace 打开项目。macOS 项目将平台声明调整为 platform :osx, '12.0'。

Swift Package Manager​

在 Xcode 中选择 File → Add Package Dependencies,输入:

https://github.com/Mesh-Stream/meshstream-p2p-ios-sdk.git

选择精确版本 1.0.8,并将 MeshStreamKit 添加至应用 Target。

手动集成​

从 SDK 仓库下载最新稳定版本的发布包。解压后,将 MeshStreamKit.xcframework 添加至应用 Target 的 Frameworks, Libraries, and Embedded Content,并选择 Embed & Sign。

使用对应版本清单中的 SHA-256 校验下载包的完整性。

更新 SDK​

CocoaPods 首次安装时解析满足项目依赖约束的版本,后续安装使用 Podfile.lock 锁定的版本。上面的示例将版本精确锁定为 1.0.8。升级时先将 Podfile 中的版本改为目标已发布版本,再执行:

pod update MeshStreamKit --repo-update

Swift Package Manager 项目需先在 Xcode 的 Package Dependencies 中将 Exact Version 规则改为目标已发布版本,再更新包依赖。版本约束不变时,更新命令不会将精确锁定的依赖升级到其他版本。手动集成项目替换完整的 XCFramework,并核对新版本的校验和。

建议将 Podfile.lock 或 Package.resolved 纳入版本管理,并在发布应用前完成升级验证。

应用配置​

SDK 自动读取应用的 Bundle ID,无需额外配置服务地址。各平台需完成以下权限配置。

iOS​

SDK 返回的播放地址使用本机 HTTP 回环代理,即使媒体源为 HTTPS,也需允许播放器访问本地代理。在应用 Target 的 Info.plist 中合并以下设置:

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsLocalNetworking</key>
<true/>
</dict>

已有 NSAppTransportSecurity 字典时合并该键,保留其余 ATS 限制。媒体源需要其他 ATS 例外时,仅添加必要配置。

macOS​

macOS 应用同样通过本机 HTTP 代理播放,需在应用的 Info.plist 中合并上面的 ATS 本地网络设置。

启用 App Sandbox 的应用需添加以下网络权限:

  • com.apple.security.network.client
  • com.apple.security.network.server

下一步​

完成以上配置后,进入快速接入,创建会话、连接播放器,并在播放结束后释放资源。