JazzSDK 23.7.1

JazzSDK 23.7.1

IlyaBuzyrev 维护。



JazzSDK 23.7.1

  • Salute Devices LLC

集成Jazz SDK

环境要求

iOS: 14.x 及以上; Swift: 5.7 及以上; Xcode: 14.3.1 及以上

SDK安装指南

https://developers.sber.ru/docs/ru/jazz/sdk/overview

许可协议

许可协议

通过依赖管理器安装

CocoaPods

为了将JazzSDK集成到您的应用中,您需要在您的Podfile中指定它

pod 'JazzSDK'

Carthage

为了将JazzSDK集成到您的应用中,您需要在其Cartfile中指定它

github "salute-developers/jazz-ios-sdk"

Swift Package Manager

为了将JazzSDK集成到您的应用中,您需要在其Package.swift中指定它

dependencies: [
    .package(url: "https://github.com/salute-developers/jazz-ios-sdk.git")
]

接入项目

  1. 请将存档中的内容复制到您的项目目录中

  2. 将所有 .xcframework 文件链接到 .xcodeproj 中相应的目标。必需框架的完整列表

  • JazzCore.xcframework
  • JazzSDK.xcframework
  • LibSberCast.xcframework
  • WebRTC.xcframework

重要:在“嵌入的二进制文件”部分需要添加所有库

  1. 请复制或创建以下资源中的符号链接
  • DevicesDesignSystemResources.bundle
  • JazzResources.bundle

接下来,将所有创建的资源链接添加到项目中并检查是否在“复制资源束”部分中(位于“构建阶段”标签页)。

  1. 更新您的应用程序的 Info.plist

需要提供对请求的描述

  • NSMicrophoneUsageDescription - 以访问麦克风
  • NSCameraUsageDescription - 以访问相机
  • NSBluetoothAlwaysUsageDescriptionNSBluetoothPeripheralUsageDescription - 在无缝将会议转换到 Sber 设备时访问蓝牙

此外,为了在本地网络中搜索设备,还需要添加

<key>NSBonjourServices</key>
<array>
    <string>_staros._tcp</string>
</array>

使用 SDK

为了访问 Jazz SDK 的功能,请在需要使用 SDK 的地方添加 import JazzSDK。在初始化 SDK 之前(很可能是在应用程序启动时)需要调用 Jazz.initialize。之后,您可以通过 JazzSession.shared 方法使用 SDK 中的所有功能。

接入屏幕共享功能

  1. 在您的项目中创建一个 广播上传扩展 类型的目标(取消选择“包含 UI 扩展”)
  2. 将 JazzScreenShareImpl.xcframework 和 JazzSDKScreenShare.xcframework 链接到新的目标。重要:在“嵌入的二进制文件”部分中不需要添加
  3. 复制或创建 JazzScreenShareImpl/JazzScreenShareResources.bundle 的符号链接
  4. 在应用程序的主目标以及新的 广播上传扩展 目标中,添加 app groups capability,并确保使用相同的组标识符
  5. 更新新的目标和主目标的应用 Info.plist,以便包含等于组标识符的 RTCAppGroupIdentifier 键。
  6. 实现 SampleHandler 以使其如下所示
import ReplayKit
import JazzSDKScreenShare

class SampleHandler: RPBroadcastSampleHandler {
    
    private lazy var screenShare = JazzScreenShare(onError: finishBroadcastWithError(_:))

    override func broadcastStarted(withSetupInfo setupInfo: [String : NSObject]?) {
        screenShare.broadcastStarted(withSetupInfo: setupInfo)
    }
    
    override func broadcastFinished() {
        screenShare.broadcastFinished()
    }
    
    override func processSampleBuffer(_ sampleBuffer: CMSampleBuffer, with sampleBufferType: RPSampleBufferType) {
        screenShare.processSampleBuffer(sampleBuffer, with: sampleBufferType)
    }
}
  1. 在应用的主目标中初始化 JazzSDK 时,在 JazzSettings 中指定 screenShareExtensionIdentifier 等于你的 广播上传扩展bundleId