

# IVS iOS Broadcast SDK 시작하기 \$1 실시간 스트리밍
<a name="broadcast-ios-getting-started"></a>

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

## 라이브러리 설치
<a name="broadcast-ios-install"></a>

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

### 권장: Broadcast SDK 통합(Swift Package Manager)
<a name="broadcast-ios-install-swift"></a>

1. [https://broadcast.live-video.net/1.41.0/Package.swift](https://broadcast.live-video.net/1.41.0/Package.swift)에서 Package.swift 파일을 다운로드합니다.

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

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

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

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

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

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

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

### 대체 방법: 수동으로 프레임워크 설치
<a name="broadcast-ios-install-manual"></a>

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

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

1. 애플리케이션 대상에 대해 **일반** 탭의 **프레임워크, 라이브러리 및 포함된 콘텐츠** 섹션으로 끌어 `AmazonIVSBroadcast.xcframework`를 포함합니다.  
![\[애플리케이션 대상에 대한 일반(General) 탭의 프레임워크, 라이브러리 및 포함된 콘텐츠(Frameworks, Libraries, and Embedded Content) 섹션.\]](http://docs.aws.amazon.com/ko_kr/ivs/latest/RealTimeUserGuide/images/iOS_Broadcast_SDK_Guide_xcframework.png)

## 권한 요청
<a name="broadcast-ios-permissions"></a>

앱에서 사용자의 카메라 및 마이크에 액세스할 수 있는 권한을 요청해야 합니다. (이는 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`에 추가해야 합니다. 추가하지 않을 경우 권한 요청시 앱이 중단됩니다.

## 애플리케이션 유휴 타이머 사용 중지
<a name="broadcast-ios-disable-idle-timer"></a>

이 단계는 선택 사항이지만 권장됩니다. 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
}
```