# Configuración con Swift Package Manager

## Requisitos

*   Cree una cuenta en [Pushwoosh](https://pushwoosh.com/) si aún no tiene una.
*   Un Mac con una versión nueva de Xcode (solo Apple Silicon).
*   Un certificado push de iOS. Para más detalles, consulte: [Configuración de iOS](/es/developer/first-steps/connect-messaging-services/ios-configuration/ios-token-based-configuration/)

## Integración

1.  Abra su proyecto en Xcode y vaya a los **ajustes del proyecto** -> **Package Dependencies** -> y presione el botón **'+'**.

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

2.  Introduzca la siguiente URL del paquete:

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

3.  Configure la **Dependency Rule**

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

4.  En la siguiente pantalla, para elegir su paquete, seleccione el paquete Pushwoosh y **Add Package** a su Target principal de la aplicación.

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

5.  Abra el Target principal de su aplicación y, en **Frameworks, Libraries, and Embedded Content**, asegúrese de que se haya añadido el SDK de Pushwoosh para iOS.

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

6.  ¡Bien hecho! Acaba de integrar el SDK de Pushwoosh para visionOS en su proyecto.

## Añadir capacidades requeridas

1.  Seleccione el proyecto raíz (1) y el target principal de su aplicación (2), luego vaya a la pestaña **Signing and Capabilities**.
2.  Presione el botón **+ Capability** (3) y seleccione la capacidad **Push Notifications**.
3.  Luego, añada la capacidad **Background Modes** y marque la casilla **Remote notifications** (4).

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

4.  ¡Bien hecho! La configuración de las capacidades de Xcode está completa.

## Añadir el código de inicialización de Pushwoosh

1.  Añada el siguiente código a su aplicación

```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.  En su `Info.plist`, añada las siguientes claves de tipo string:

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

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

*   `Pushwoosh_APPID`: su código de aplicación de Pushwoosh.
*   `Pushwoosh_API_TOKEN`: su [Token de API de dispositivo de Pushwoosh](/es/developer/api-reference/api-access-token/#device-api-token)

> **Importante:** Asegúrese de dar al token acceso a la aplicación correcta en su Panel de Control de Pushwoosh. [Más información](/es/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">
Reemplace XXXXX-XXXXX con su ID de aplicación de Pushwoosh
</Aside>

3.  ¡Bien hecho! ¡Ahora puede enviar su primera notificación 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=""/>

### Comparta sus comentarios con nosotros

Sus comentarios nos ayudan a crear una mejor experiencia, por lo que nos encantaría saber de usted si tiene algún problema durante el proceso de integración del SDK. Si se enfrenta a alguna dificultad, no dude en compartir sus opiniones con nosotros [a través de este formulario](https://docs.google.com/forms/d/e/1FAIpQLSd\_0b8jwn-V\_JmoPLIxIFYbHACCQhrzidOZV3ELywoQPXRSxw/viewform).