Dynamic Island: cos'è, interazione con Dynamic Island

Autore: IT Sectr Pubblicato: 2026-02-28 Tempo di lettura: 9 min

Dynamic Island è un'area interattiva nella parte superiore dell'iPhone 14 Pro e di tutti gli iPhone 15/16 che combina notifiche, attività in background e indicatori di sistema in un'unica zona dinamica. A differenza del tradizionale notch, Dynamic Island cambia forma e dimensioni in base al contesto attuale. Secondo Apple (WWDC 2024), gli utenti interagiscono con Dynamic Island in media 12 volte al giorno — tramite tocchi, pressioni lunghe e Live Activities con ActivityKit. Ulteriori informazioni sulle animazioni in iOS nell'articolo su Corner Radius.

Punti chiave

  • Dynamic Island è una soluzione software-hardware di Apple che sostituisce il notch con una zona interattiva a geometria variabile.
  • Live Activities sono widget su Dynamic Island che funzionano tramite il framework ActivityKit (iOS 16.1+).
  • Tre stati: compatto (icona), minimo (pillola), espanso (pannello con contenuto).
  • ActivityKit è un framework Swift per pubblicare Live Activities su Dynamic Island e sulla schermata di blocco.
  • Dynamic Island supporta gesti: tocco per aprire l'app, pressione lunga per espandere il pannello.

Cos'è Dynamic Island?

Dynamic Island è un'area interattiva basata sulla soluzione software-hardware di Apple, presentata a settembre 2022 insieme all'iPhone 14 Pro. Fisicamente, è un ritaglio a forma di pillola circondato da pixel OLED che cambiano dinamicamente colore e forma. Apple utilizza una combinazione di un ritaglio hardware per la fotocamera e Face ID con rendering software delle aree nere circostanti, creando l'illusione di un'isola «viva».

L'obiettivo principale di Dynamic Island è colmare il divario tra le notifiche di sistema e il contenuto attivo. Invece di far apparire le notifiche al centro dello schermo (come su Android) o come banner dall'alto (come nelle versioni precedenti di iOS), Dynamic Island le integra direttamente nella zona hardware. Questo riduce le distrazioni e crea una sensazione di spazio unificato.

Secondo i dati Apple (Statistiche di adozione di iOS 17, 2024), Dynamic Island è disponibile sul 38% degli iPhone attivi. A partire dall'iPhone 15 (2023), tutti i modelli della gamma hanno ricevuto Dynamic Island, inclusi i modelli base. In iOS 18, Apple ha ampliato l'API Live Activities, aggiungendo il supporto per timer di conto alla rovescia e punteggi sportivi direttamente su Dynamic Island.

Quali modelli supportano Dynamic Island

Dynamic Island è disponibile su iPhone 14 Pro, iPhone 14 Pro Max, iPhone 15, iPhone 15 Plus, iPhone 15 Pro, iPhone 15 Pro Max, iPhone 16, iPhone 16 Plus, iPhone 16 Pro, iPhone 16 Pro Max. Dynamic Island non è disponibile su iPad. Lo sviluppo per Dynamic Island richiede Xcode 14.1+ e iOS 16.1+.

Come funziona Dynamic Island: tre stati

Dynamic Island supporta tre stati di visualizzazione: compatto, minimo ed espanso. Le transizioni tra gli stati sono animate utilizzando animazioni UIKit e Core Animation. Il sistema stesso gestisce la priorità delle attività: se più app tentano di visualizzare contenuti contemporaneamente, iOS utilizza una coda basata sull'ora di inizio dell'ultima attività.

StatoDimensioniContenutoEsempio
Compatto49×18 ptIcona app + icona di sistemaTimer, musica, chiamata
MinimoFino a 66×18 ptIcona + testo breveIndicazioni di navigazione, passi
EspansoFino a 364×160 ptWidget completo con contenutoPunteggio sportivo, stato del taxi

Stato compatto è la visualizzazione standard di Dynamic Island quando un'attività in background è attiva. Appare come una pillola arrotondata con l'icona dell'app a sinistra e un'icona di sistema a destra. Per impostazione predefinita, tutte le Live Activities iniziano in stato compatto.

Stato minimo si verifica quando due o più attività sono attive contemporaneamente. Dynamic Island si «divide» in due elementi separati a sinistra e a destra della fotocamera. Lo stato minimo consente di visualizzare due fonti di informazioni indipendenti, come il tempo di arrivo del taxi e il brano corrente.

Stato espanso viene attivato con una pressione lunga su Dynamic Island. In questa modalità, viene visualizzato un widget completo con contenuto personalizzabile: titoli, descrizioni, barre di avanzamento, pulsanti. Lo stato espanso supporta lo scorrimento e gli elementi interattivi.

ActivityKit e Live Activities: API Swift

ActivityKit è un framework Swift introdotto in iOS 16.1 che consente alle app di pubblicare Live Activities su Dynamic Island e sulla schermata di blocco. ActivityKit utilizza un'architettura basata su ActivityView e ActivityAttributes: il primo definisce il tipo di contenuto, il secondo definisce i dati modificabili. Il framework funziona in combinazione con WidgetKit, ma a differenza dei widget, le Live Activities possono essere aggiornate in tempo reale senza aprire l'app.

swift
import ActivityKit
import SwiftUI

// Definire attributi dell'attività
struct DeliveryAttributes: ActivityAttributes {
    public struct ContentState: Codable, Hashable {
        var driverName: String
        var distanceToArrival: Double
        var estimatedMinutes: Int
    }
    var orderNumber: String
}

// Avviare Live Activity
func startDeliveryActivity() {
    let initialState = DeliveryAttributes.ContentState(
        driverName: "Aleksej",
        distanceToArrival: 3.5,
        estimatedMinutes: 12
    )
    let attributes = DeliveryAttributes(orderNumber: "ORD-2024-8912")
    let activity = try? Activity.request(
        attributes: attributes,
        contentState: initialState,
        pushType: .token
    )
}

Live Activities vengono aggiornate tramite ActivityView, che renderizza il contenuto SwiftUI per Dynamic Island. Il sistema stesso determina quale modello utilizzare (compatto, minimo o espanso) in base alle dimensioni di Dynamic Island e al numero di attività. Per aggiornare il contenuto, chiama activity.update(using: contentState). Per terminare — activity.end(dismissalPolicy: .immediate).

Notifiche dinamiche con aggiornamenti push

ActivityKit supporta gli aggiornamenti push tramite APNs (Apple Push Notification Service). All'avvio di una Live Activity, puoi richiedere un pushToken e inviare aggiornamenti dal server senza dover avviare l'app sul dispositivo. Gli aggiornamenti push funzionano tramite activity.pushToken e Activity.pushToStartToken per l'avvio remoto di Live Activities.

swift
// Aggiornare Live Activity tramite Push
func updateActivity(activity: Activity<DeliveryAttributes>) {
    let updatedState = DeliveryAttributes.ContentState(
        driverName: "Aleksej",
        distanceToArrival: 1.2,
        estimatedMinutes: 4
    )
    let alertConfiguration = AlertConfiguration(
        title: "Corriere nelle vicinanze",
        body: "Aleksej arriverà tra 4 minuti",
        sound: .default
    )
    await activity.update(
        using: updatedState,
        alertConfiguration: alertConfiguration
    )
}

AlertConfiguration è un parametro opzionale che mostra una notifica sopra Dynamic Island per aggiornamenti importanti (ad esempio, «Il corriere è arrivato»). Senza AlertConfiguration, il contenuto viene aggiornato silenziosamente, il che è adatto per barre di avanzamento e timer.

Dynamic Island vs Notch: confronto

Notch è il ritaglio hardware dell'iPhone X–13 che contiene la fotocamera frontale, il sensore Face ID e l'altoparlante. Il notch è statico: le sue dimensioni e forma non cambiano e le notifiche vengono visualizzate sotto di esso come banner standard. Dynamic Island, al contrario, utilizza i pixel intorno al ritaglio per visualizzare il contenuto, rendendo l'elemento hardware parte dell'interfaccia.

CriterioDynamic IslandNotch
InterattivitàSupporta tocchi, pressioni lunghe, scorrimentiNon interattivo
Adattamento del contenutoCambia forma in base al contestoStatico, contenuto sotto il notch
Live ActivitiesSupporto integrato tramite ActivityKitNo — solo notifiche standard
MultitaskingDue attività simultanee (sinistra e destra)Solo un'attività
DisponibilitàiOS 16.1+, iPhone 14 Pro e successiviiOS 11+, iPhone X–13

Secondo le Linee guida per l'interfaccia umana di Apple (2025), Dynamic Island non deve essere utilizzato per pubblicità o visualizzazione permanente di contenuto statico. Le Live Activities sono destinate solo ad attività in background con un ciclo di vita chiaro: timer, consegne, sport, musica, navigazione. La violazione di queste regole comporta il rifiuto dell'app nella revisione dell'App Store.

Ciclo di vita e gesti di Dynamic Island

Dynamic Island ha un ciclo di vita rigoroso: un'attività inizia con una richiesta tramite Activity.request(), attraversa gli stati attiva/in pausa/aggiornata e termina con una chiamata a activity.end(). Il sistema può forzare la terminazione di un'attività in caso di memoria insufficiente (ad esempio, all'avvio della fotocamera). In questo caso, l'app riceve una notifica tramite ActivityActivityState.finished.

I gesti su Dynamic Island vengono gestiti dal contenuto SwiftUI all'interno di ActivityView. Gesti standard: tocco sullo stato compatto apre l'app, pressione lunga espande lo stato espanso, scorrimento verso il basso chiude lo stato espanso. I gesti personalizzati vengono aggiunti tramite modificatori SwiftUI (onTapGesture, onLongPressGesture) all'interno della vista attività.

Gestione dello stato finished

Quando il sistema termina una Live Activity (o l'utente la rimuove con uno scorrimento), l'app deve gestire lo stato finished per liberare risorse. Si consiglia di sottoscrivere Activity.activityStateUpdates e rimuovere i riferimenti locali all'attività dopo il completamento.

swift
import ActivityKit

func observeActivityState(activity: Activity<DeliveryAttributes>) {
    Task {
        for await state in activity.activityStateUpdates {
            switch state {
            case .active:
                print("Attività attiva su Dynamic Island")
            case .dismissed:
                print("Attività nascosta dall'utente")
                await activity.end(dismissalPolicy: .immediate)
            case .finished:
                print("Attività terminata dal sistema")
                cleanupResources()
            @unknown default:
                break
            }
        }
    }
}

Raccomandazione Apple (WWDC 2024, Sessione 10146): non utilizzare Dynamic Island per visualizzare stati che non richiedono l'attenzione dell'utente. Ogni Live Activity deve avere un trigger di inizio e fine chiaro. Per aggiornamenti in background senza interfaccia utente, utilizza Background Tasks invece di Live Activities.

Domande frequenti

Su quali iPhone funziona Dynamic Island?

Dynamic Island è disponibile su iPhone 14 Pro, 14 Pro Max e tutti i modelli iPhone 15 e iPhone 16 (incluse le versioni base). Lo sviluppo richiede iOS 16.1+ e Xcode 14.1. Sui modelli più vecchi (iPhone X–13) viene utilizzato un notch statico che non supporta le Live Activities.

In cosa Dynamic Island differisce da una notifica normale?

Dynamic Island integra la notifica nella zona hardware dello schermo senza coprire il contenuto. Una notifica normale appare come un banner in alto e scompare dopo pochi secondi. Le Live Activities su Dynamic Island possono rimanere attive per ore e aggiornarsi in tempo reale (stato della consegna, timer, musica).

Come aggiornare il contenuto su Dynamic Island senza aprire l'app?

Utilizza aggiornamenti push tramite APNs. All'avvio di una Live Activity, chiama activity.pushToken e invia il token al tuo server. Il server invia una richiesta di aggiornamento tramite APNs con il nuovo ContentState. Un'alternativa sono gli aggiornamenti locali tramite activity.update(using:) dall'interno dell'app stessa.

Come visualizzare due attività contemporaneamente su Dynamic Island?

iOS divide automaticamente Dynamic Island in due segmenti quando due Live Activities sono attive. Ogni attività viene visualizzata in stato minimo a sinistra e a destra della fotocamera. Una pressione lunga su uno dei segmenti apre lo stato espanso solo per quell'app.

Perché la mia Live Activity non appare su Dynamic Island?

Verifica: (1) l'app ha NSSupportsLiveActivities = YES in Info.plist, (2) ActivityAttributes e ContentState implementano Codable e Hashable, (3) la versione iOS è 16.1+, (4) il dispositivo supporta Dynamic Island. Per il simulatore, utilizza iPhone 14 Pro o successivo in Xcode.

Riepilogo

  • Dynamic Island è la zona interattiva dell'iPhone 14 Pro+, che sostituisce il notch statico.
  • Supporta tre stati: compatto, minimo ed espanso con animazioni di transizione fluide.
  • ActivityKit è un framework Swift per pubblicare Live Activities su Dynamic Island e sulla schermata di blocco.
  • Le Live Activities si aggiornano tramite chiamate locali o notifiche push via APNs.
  • Gesti: tocco per andare all'app, pressione lunga per espandere il pannello, scorrimento per chiudere.
  • Dynamic Island supporta fino a due attività simultanee con divisione in segmenti.
  • Apple limita l'uso delle Live Activities solo ad attività in background con tempistiche chiare.

Svilupperemo un'applicazione mobile chiavi in mano

IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.

Discuti il progetto

Leggi anche