IVS iOS Broadcast SDK 시작하기 | 실시간 스트리밍 - Amazon IVS

IVS iOS Broadcast SDK 시작하기 | 실시간 스트리밍

이 문서에서는 IVS Real-Time Streaming iOS Broadcast SDK를 시작하는 데 관련된 단계를 안내합니다.

라이브러리 설치

Swift Package Manager를 사용하여 Broadcast SDK를 통합하는 것이 좋습니다. (또는 CocoaPods를 통해 통합하거나 프레임워크를 프로젝트에 수동으로 추가할 수 있습니다.)

권장: Broadcast SDK 통합(Swift Package Manager)

  1. https://broadcast.live-video.net/1.38.0/Package.swift에서 Package.swift 파일을 다운로드합니다.

  2. 프로젝트에서 AmazonIVSBroadcast라는 새 디렉터리를 생성하여 버전 제어에 추가합니다.

  3. 다운로드한 Package.swift 파일을 새 디렉터리에 배치합니다.

  4. Xcode에서 파일 > 패키지 종속성 추가로 이동하여 로컬 추가...를 선택합니다.

  5. 생성한 AmazonIVSBroadcast 디렉터리로 이동하여 선택하고 패키지 추가를 선택합니다.

  6. AmazonIVSBroadcast용 패키지 제품 선택이라는 프롬프트가 표시되면 대상에 추가 섹션에서 애플리케이션 대상을 설정하여 AmazonIVSBroadcastStages패키지 제품으로 선택합니다.

  7. 패키지 추가를 선택합니다.

중요: IVS 실시간 스트리밍 Broadcast SDK에는 iOS 저지연 스트리밍 Broadcast SDK의 모든 특성이 포함되어 있습니다. 두 SDK를 동일한 프로젝트에 통합하는 것은 불가능합니다.

대체 접근 방식: Broadcast SDK 통합(CocoaPods)

중요: CocoaPods의 모드는 유지 관리이며(보안 수정만 해당), 2026년 12월 이후에는 CocoaPods 리포지토리에 게시할 수 있는 새 패키지 또는 업데이트가 없습니다. 기존 패키지는 계속 사용할 수 있지만, 고정됩니다. 모든 새 프로젝트에 Swift Package Manager를 사용하는 것이 좋습니다.

실시간 기능은 iOS 저지연 스트리밍 Broadcast SDK(iOS Low-Latency Streaming broadcast SDK)의 하위 사양으로 게시됩니다. 이를 통해 고객은 기능 요구 사항에 따라 해당 기능을 포함 또는 제외할 수 있으며, 포함할 경우 패키지 크기가 증가합니다. 포함하면 패키지 크기가 커집니다.

릴리스는 AmazonIVSBroadcast이라는 이름으로 CoCocoaPods를 통해 게시됩니다. 이 종속성을 Podfile에 추가합니다.

pod 'AmazonIVSBroadcast/Stages'

이후 pod install을 실행하면 .xcworkspace에서 SDK를 사용할 수 있습니다.

중요: IVS 실시간 스트리밍 Broadcast SDK(스테이지 하위 사양 포함)에는 iOS 저지연 스트리밍 Broadcast SDK의 모든 기능이 포함되어 있습니다. 두 SDK를 동일한 프로젝트에 통합하는 것은 불가능합니다. CocoaPods를 통해 스테이지 하위 사양을 프로젝트에 추가하는 경우 AmazonIVSBroadcast가 포함된 Podfile의 나머지 줄을 모두 제거해야 합니다. 예를 들어, Podfile에 다음 두 줄이 모두 있으면 안 됩니다.

pod 'AmazonIVSBroadcast' pod 'AmazonIVSBroadcast/Stages'

대체 방법: 수동으로 프레임워크 설치

  1. https://broadcast.live-video.net/1.38.0/AmazonIVSBroadcast-Stages.xcframework.zip에서 최신 버전을 다운로드합니다.

  2. 아카이브 콘텐츠의 압축을 풉니다. AmazonIVSBroadcast.xcframework에는 디바이스와 시뮬레이터 모두에 대한 SDK가 포함되어 있습니다.

  3. 애플리케이션 대상에 대해 일반 탭의 프레임워크, 라이브러리 및 포함된 콘텐츠 섹션으로 끌어 AmazonIVSBroadcast.xcframework를 포함합니다.

    애플리케이션 대상에 대한 일반(General) 탭의 프레임워크, 라이브러리 및 포함된 콘텐츠(Frameworks, Libraries, and Embedded Content) 섹션.

권한 요청

앱에서 사용자의 카메라 및 마이크에 액세스할 수 있는 권한을 요청해야 합니다. (이는 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 미디어 유형 모두에 위와 같이 권한을 요청해야 합니다.

또한 NSCameraUsageDescriptionNSMicrophoneUsageDescription에 대한 항목을 Info.plist에 추가해야 합니다. 추가하지 않을 경우 권한 요청시 앱이 중단됩니다.

애플리케이션 유휴 타이머 사용 중지

이 단계는 선택 사항이지만 권장됩니다. Broadcast SDK를 사용하는 동안 디바이스가 절전 모드로 전환되는 것을 방지함으로써 브로드캐스트가 중단되는 것을 막습니다.

override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) UIApplication.shared.isIdleTimerDisabled = true } override func viewDidDisappear(_ animated: Bool) { super.viewDidDisappear(animated) UIApplication.shared.isIdleTimerDisabled = false }