Funzionalità iCloud in Xamarin.iOS

L'aggiunta di funzionalità a un'applicazione spesso richiede un'ulteriore configurazione del provisioning. Questa guida illustra la configurazione necessaria per le funzionalità iCloud.

iCloud offre agli utenti iOS un modo semplice e pratico per archiviare contenuti e condividerli tra i dispositivi. Gli sviluppatori possono usare iCloud in quattro modi per offrire ai propri utenti un mezzo di archiviazione: archiviazione chiave-valore, archiviazione UIDocument, CoreData e uso diretto di CloudKit per l'archiviazione di singoli file e directory. Per altre informazioni su questi argomenti, vedere la guida Introduction to iCloud (Introduzione a iCloud).

L'aggiunta della funzionalità iCloud a un'applicazione è leggermente più complessa rispetto ad altri servizi app a causa dei contenitori. In iCloud i contenitori vengono usati per archiviare le informazioni per un'app e consentire la separazione di tutte le informazioni contenute in un singolo account iCloud, come il sandboxing nel dispositivo iOS di un utente. Per altre informazioni sui contenitori, vedere la guida Introduction to CloudKit (Introduzione a CloudKit).

Importante

Apple fornisce strumenti per aiutare gli sviluppatori a gestire correttamente il Regolamento generale sulla protezione dei dati (GDPR) dell'Unione Europea.

Centro per sviluppatori

Durante il provisioning di una nuova app tramite il centro sviluppatori è necessario eseguire due passaggi:

  1. Creare un contenitore
  2. Creare un ID app con la funzionalità iCloud e aggiungervi il contenitore.
  3. Creare un profilo di provisioning che includa questo ID app

La procedura seguente illustra questi passaggi:

  1. Aprire il centro sviluppatori Apple e passare alla sezione Certificates, Identifiers, and Profiles (Certificati, identificatori e profili):

    Apple Developer Center main page

  2. In Identifiers (Identificatori) selezionare iCloud Containers (Contenitori iCloud) e quindi selezionare il pulsante + per creare un nuovo contenitore:

    iCloud Container screen

  3. Immettere un valore nel campo Description (Descrizione) e un valore univoco nel campo Identifier (Identificatore) per il contenitore iCloud:

    Screenshot shows Registering an i Cloud container.

  4. Premere Continue (Continua), verificare che le informazioni siano corrette e premere Register (Registra) per creare il contenitore iCloud:

    Screenshot shows Confirm your i Cloud container.

Per creare un nuovo ID app e aggiungervi un contenitore, seguire questa procedura:

  1. Nel centro sviluppatori fare clic su App IDs (ID app) in Identifiers (Identificatori):

    Identifier Section in Developer Center

  2. Selezionare il pulsante + per aggiungere un nuovo ID app:

    Add new App ID button

  3. Immettere un valore nel campo Name (Nome) per l'ID app e assegnargli un Explicit App ID (ID app esplicito):

    Enter new App ID details

  4. In App Services (Servizi app) selezionare iCloud e scegliere Include CloudKit support (Includi supporto CloudKit):

    Select iCloud app services

  5. Selezionare Continue (Continua) e quindi Register (Registra). Si noti che nella schermata di conferma iCloud viene visualizzato con la voce Configurable (Configurabile) selezionata, con un simbolo giallo:

    Confirmation screen

  6. Tornare all'elenco di ID app e selezionare quello appena creato:

    Select App ID screen

  7. Scorrere fino alla fine di questa sezione espansa e fare clic su Edit (Modifica):

    Edit App ID

  8. Scorrere l'elenco verso il basso fino a iCloud e fare clic sul pulsante Edit (Modifica):

    Edit iCloud App ID

  9. Selezionare il contenitore da usare con questo ID app:

    Select container screen

  10. Verificare le assegnazioni del contenitore e premere Assign (Assegna).

Questo ID app può ora essere usato per generare o rigenerare un nuovo profilo di provisioning, come descritto nella guida Working with Capabilities (Uso delle funzionalità).

Per altre informazioni sull'uso di iCloud, vedere le guide seguenti:

Passaggi successivi

Nell'elenco seguente vengono descritti i passaggi aggiuntivi che potrebbero essere necessari:

  • Usare lo spazio dei nomi del framework nell'app.
  • Aggiungere all'app gli entitlement necessari. Per informazioni dettagliate sugli entitlement necessari e su come aggiungerli, vedere la guida Uso degli entitlement.
  • In Firma del bundle iOS dell'app assicurarsi che Entitlement personalizzati sia impostato su Entitlements.plist. Questa non è l'impostazione predefinita per le build di debug e del simulatore iOS.

In caso di problemi con i servizi app, vedere la sezione Troubleshooting (Risoluzione dei problemi) della guida principale.