# Configuration avec Swift Package Manager

## Prérequis

*   Créez un compte [Pushwoosh](https://pushwoosh.com/) si vous n'en avez pas déjà un.
*   Un Mac avec une nouvelle version de Xcode (Apple Silicon uniquement).
*   Un certificat Push iOS. Pour plus de détails, consultez : [Configuration iOS](/fr/developer/first-steps/connect-messaging-services/ios-configuration/ios-token-based-configuration/)

## Intégration

1.  Ouvrez votre projet dans Xcode et accédez aux **paramètres du projet** -> **Package Dependencies** -> puis appuyez sur le bouton **'+'**.

<img src="/setting-up-pushwoosh-visionos-sdk-swift-package-manager-setup-1.webp" alt=""/>

2.  Saisissez l'URL de package suivante :

[https://github.com/Pushwoosh/PushwooshVision-XCFramework](https://github.com/Pushwoosh/PushwooshVision-XCFramework)

3.  Configurez la **Dependency Rule**

<img src="/setting-up-pushwoosh-visionos-sdk-swift-package-manager-setup-2.webp" alt=""/>

4.  Sur l'écran suivant, pour choisir votre package, sélectionnez Pushwoosh Package et **Add Package** à votre cible d'application principale.

<img src="/setting-up-pushwoosh-visionos-sdk-swift-package-manager-setup-3.webp" alt=""/>

5.  Ouvrez votre cible d'application principale et sous **Frameworks, Libraries, and Embedded Content**, assurez-vous que le SDK iOS de Pushwoosh a été ajouté.

<img src="/setting-up-pushwoosh-visionos-sdk-swift-package-manager-setup-4.webp" alt=""/>

6.  Bien joué ! Vous venez d'intégrer le SDK visionOS de Pushwoosh dans votre projet.

## Ajouter les capacités requises

1.  Sélectionnez le projet racine (1) et votre cible d'application principale (2), puis allez dans l'onglet **Signing and Capabilities**.
2.  Appuyez sur le bouton **+ Capability** (3) et sélectionnez la capacité **Push Notifications**.
3.  Ensuite, ajoutez la capacité **Background Modes** et cochez la case **Remote notifications** (4).

<img src="/setting-up-pushwoosh-visionos-sdk-swift-package-manager-setup-5.webp" alt=""/>

4.  Bien joué ! La configuration des capacités de Xcode est terminée.

## Ajouter le code d'initialisation de Pushwoosh

1.  Ajoutez le code suivant à votre application

```swift
import SwiftUI
import Pushwoosh

class AppDelegate: NSObject, UIApplicationDelegate, UNUserNotificationCenterDelegate, PWMessagingDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {

        Pushwoosh.sharedInstance().registerForPushNotifications()
        Pushwoosh.sharedInstance().delegate = self
        return true
    }

    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        Pushwoosh.sharedInstance().handlePushRegistration(deviceToken)
    }

    func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: any Error) {
        Pushwoosh.sharedInstance().handlePushRegistrationFailure(error)
        print("\(error.localizedDescription)")
    }

    func pushwoosh(_ pushwoosh: Pushwoosh, onMessageOpened message: PWMessage) {
        print("Message opened: \(message.payload!)")
    }

    func pushwoosh(_ pushwoosh: Pushwoosh, onMessageReceived message: PWMessage) {
        print("Message received: \(message.payload!)")
    }
}

@main
struct newdemoApp: App {
    @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
```

2.  Dans votre `Info.plist`, ajoutez les clés de type chaîne de caractères suivantes :

```xml
<key>Pushwoosh_APPID</key>
<string>XXXXX-XXXXX</string>

<key>Pushwoosh_API_TOKEN</key>
<string>YOUR_DEVICE_API_TOKEN</string>
```

*   `Pushwoosh_APPID` : votre code d'application Pushwoosh.
*   `Pushwoosh_API_TOKEN` : votre [jeton d'API de l'appareil Pushwoosh](/fr/developer/api-reference/api-access-token/#device-api-token)

> **Important :** Assurez-vous de donner au jeton l'accès à la bonne application dans votre Control Panel Pushwoosh. [En savoir plus](/fr/developer/api-reference/api-access-token/#edit-token)

<img src="/setting-up-pushwoosh-visionos-sdk-swift-package-manager-setup-6.webp" alt=""/>

<Aside type="note">
Remplacez XXXXX-XXXXX par votre ID d'application Pushwoosh
</Aside>

3.  Bien joué ! Vous pouvez maintenant envoyer votre première notification push !

<img src="/setting-up-pushwoosh-visionos-sdk-swift-package-manager-setup-7.webp" alt=""/>

<img src="/setting-up-pushwoosh-visionos-sdk-swift-package-manager-setup-8.webp" alt=""/>

### Partagez vos commentaires avec nous

Vos commentaires nous aident à créer une meilleure expérience, nous serions donc ravis de vous entendre si vous rencontrez des problèmes lors du processus d'intégration du SDK. Si vous rencontrez des difficultés, n'hésitez pas à nous faire part de vos réflexions [via ce formulaire](https://docs.google.com/forms/d/e/1FAIpQLSd\_0b8jwn-V\_JmoPLIxIFYbHACCQhrzidOZV3ELywoQPXRSxw/viewform).