開始使用 IVS iOS 廣播 SDK | 即時串流
本文件將帶您了解開始使用 IVS 即時串流 iOS 廣播 SDK 的相關步驟。
安裝程式庫
建議您透過 Swift Package Manager 來整合廣播 SDK。(您也可以透過 CocoaPods 進行整合,或是手動將架構新增到您的專案中)。
建議:整合廣播 SDK (Swift Package Manager)
-
從 https://broadcast.live-video.net/1.38.0/Package.swift
下載 Package.swift 檔案。 -
在您的專案中,建立一個名為 AmazonIVSBroadcast 的新目錄,然後將其新增至版本控制。
-
將下載的 Package.swift 檔案放在新目錄中。
-
在 Xcode 中,前往檔案 > 新增套件相依性,然後選取新增本機...
-
導覽至建立的 AmazonIVSBroadcast 目錄,將其選取,然後選取新增套件。
-
系統提示您選擇用於 AmazonIVSBroadcast 的套件產品時,請在新增至目標區段中設定應用程式目標,從而選取 AmazonIVSBroadcastStages 作為套件產品。
-
選取新增套件。
重要提示:IVS 即時串流廣播 SDK 包括 IVS 低延遲串流廣播 SDK 的所有功能。您無法將這兩個 SDK 整合進同一個專案。
替代方法:整合廣播 SDK (CocoaPods)
重要提示:CocoaPods 現處於維護模式 (僅限安全性修正),在 2026 年 12 月之後,任何新的套件或更新都無法發布至 CocoaPods 儲存庫。現有套件仍然可用但已凍結。建議所有新專案使用 Swift Package Manager。
即時功能做為 iOS 低延遲串流廣播 SDK 的子規格發布。這樣客戶就可以根據自己的功能需求選擇納入或排除功能。納入功能可提升套件大小。
透過 CocoaPods 用名稱 AmazonIVSBroadcast 發行版本。將此相依性新增到您的 Podfile:
pod 'AmazonIVSBroadcast/Stages'
執行 pod install,將可在您的 .xcworkspace 中使用 SDK。
重要:IVS 即時串流廣播 SDK (即具有階段子規格) 包括 IVS 低延遲串流廣播 SDK 的所有功能。您無法將這兩個 SDK 整合進同一個專案。若透過 CocoaPods 將階段子規格新增至您的專案,請務必移除 Podfile 中含有 AmazonIVSBroadcast 的其他行。例如,請不要在 Podfile 中同時含有以下這兩行:
pod 'AmazonIVSBroadcast' pod 'AmazonIVSBroadcast/Stages'
替代方法:手動安裝架構
-
從 https://broadcast.live-video.net/1.38.0/AmazonIVSBroadcast-Stages.xcframework.zip
中下載最新版本。 -
解壓縮封存檔的內容。
AmazonIVSBroadcast.xcframework包含用於裝置和模擬器的開發套件。 -
內嵌
AmazonIVSBroadcast.xcframework,方法是將其拖曳至您的應用程式目標的一般索引標籤的架構、程式庫和內嵌內容部分中。
請求權限
您的應用程式必須請求許可才能存取使用者的攝影機和麥克風。(這不限於 Amazon IVS;任何需要存取攝影機和麥克風的應用程式都必須如此)。
在這裡,我們檢查使用者是否已經授予許可,如果沒有則提出請求:
switch AVCaptureDevice.authorizationStatus(for: .video) { case .authorized: // permission already granted. case .notDetermined: AVCaptureDevice.requestAccess(for: .video) { granted in // permission granted based on granted bool. } case .denied, .restricted: // permission denied. @unknown default: // permissions unknown. }
如果您想要存取攝影機和麥克風,必須分別對 .video 和 .audio 媒體類型執行此動作。
此外,您必須將 NSCameraUsageDescription 和 NSMicrophoneUsageDescription 的項目新增至您的 Info.plist。否則,您的應用程式將在嘗試請求許可時當機。
停用應用程式閒置計時器
此為選用操作,但建議您採用。這可以防止您的裝置在使用廣播開發套件時進入休眠狀態,導致廣播中斷。
override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) UIApplication.shared.isIdleTimerDisabled = true } override func viewDidDisappear(_ animated: Bool) { super.viewDidDisappear(animated) UIApplication.shared.isIdleTimerDisabled = false }