

# Démarrez avec le SDK de diffusion iOS IVS \| Streaming en temps réel
<a name="broadcast-ios-getting-started"></a>

Ce document explique les étapes nécessaires pour le démarrage avec le SDK de diffusion iOS IVS en temps réel.

## Installer la bibliothèque
<a name="broadcast-ios-install"></a>

Nous vous recommandons d’intégrer le kit SDK de diffusion via Swift Package Manager. (Vous pouvez également ajouter manuellement le cadre à votre projet.)

### Recommandé : intégrer le kit SDK de diffusion (Swift Package Manager)
<a name="broadcast-ios-install-swift"></a>

1. Téléchargez le fichier Package.swift depuis [https://broadcast.live-video.net/1.41.0/Package.swift](https://broadcast.live-video.net/1.41.0/Package.swift).

1. Dans votre projet, créez un nouveau répertoire nommé AmazonIVSBroadcast et ajoutez-le au contrôle de version.

1. Placez le fichier Package.swift téléchargé dans le nouveau répertoire.

1. Dans Xcode, accédez à **Fichier > Ajouter des dépendances de package** et sélectionnez **Ajouter un fichier local...**

1. Accédez au répertoire AmazonIVSBroadcast que vous avez créé, sélectionnez-le, puis sélectionnez **Ajouter un package**.

1. Lorsque vous êtes invité à **choisir les produits du package pour AmazonIVSBroadcast**, sélectionnez **AmazonIVSBroadcastStages** comme **Produit du package** en définissant la cible de votre application dans la section **Ajouter à la cible**.

1. Sélectionnez **Ajouter un package**.

**Important** : le SDK de diffusion par streaming en temps réel IVS inclut toutes les fonctionnalités du kit SDK de diffusion par streaming à faible latence. Il n’est pas possible d’intégrer les deux kits SDK dans le même projet.

### Autre approche : installer manuellement le cadre
<a name="broadcast-ios-install-manual"></a>

1. Téléchargez la dernière version depuis [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. Extrayez le contenu de l’archive. `AmazonIVSBroadcast.xcframework` contient le kit SDK pour l’appareil et le simulateur.

1. Intégrez `AmazonIVSBroadcast.xcframework` en le faisant glisser dans la section **Frameworks, Libraries, and Embedded Content** (Cadre, bibliothèques et contenu intégré) de l’onglet **General** (Général) de votre cible d’application.  
![La section Frameworks, Libraries, and Embedded Content (Cadre, bibliothèques et contenu intégré) de l’onglet General (Général) de votre cible d’application.](http://docs.aws.amazon.com/fr_fr/ivs/latest/RealTimeUserGuide/images/iOS_Broadcast_SDK_Guide_xcframework.png)

## Demander des autorisations
<a name="broadcast-ios-permissions"></a>

Votre appli doit demander l’autorisation d’accéder à la caméra et au micro de l’utilisateur. (Ce n’est pas spécifique à Amazon IVS ; cette autorisation est requise pour toute application devant accéder aux caméras et aux micros.)

Ici, nous vérifions si l’utilisateur a déjà accordé des autorisations et, dans le cas contraire, nous les demandons :

```
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.
}
```

Vous devez demander des autorisations pour les types de médias `.video` et `.audio` si vous souhaitez accéder aux caméras et aux microphones, respectivement.

Vous devez également ajouter des entrées pour `NSCameraUsageDescription` et `NSMicrophoneUsageDescription` à votre `Info.plist`. Sinon, votre application se bloquera lorsque vous essayerez de demander des autorisations.

## Désactiver le minuteur d’inactivité de l’application
<a name="broadcast-ios-disable-idle-timer"></a>

Cette action est facultative, mais recommandée. Elle empêche votre appareil de se mettre en veille lors de l’utilisation du kit SDK de diffusion, ce qui pourrait interrompre la diffusion.

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