Dynamic Island: vad är det, interaktion med Dynamic Island

Författare: IT Sectr Publicerad: 2026-02-28 Lästid: 9 min

Dynamic Island — ett interaktivt område högst upp på iPhone 14 Pro och alla iPhone 15/16, som sammanför aviseringar, bakgrundsaktiviteter och systemindikatorer i en enda dynamisk zon. Till skillnad från den traditionella utskärningen (notch) ändrar Dynamic Island form och storlek beroende på aktuellt sammanhang. Enligt Apple (WWDC 2024) interagerar användare med Dynamic Island i genomsnitt 12 gånger per dag — genom tryckningar, långa tryck och Live Activities med ActivityKit. Läs mer om animationer i iOS i artikeln om Corner Radius.

Huvudpunkter

  • Dynamic Island — Apples programvaru-hårdvarulösning som ersätter utskärningen med en interaktiv zon med variabel geometri.
  • Live Activities — widgetar på Dynamic Island som fungerar via ActivityKit-ramverket (iOS 16.1+).
  • Tre tillstånd: kompakt (ikon), minimalt (piller), utökat (panel med innehåll).
  • ActivityKit — Swift-ramverk för att publicera Live Activities på Dynamic Island och Lock Screen.
  • Dynamic Island stöder gester: tryck för att öppna appen, långt tryck för att expandera panelen.

Vad är Dynamic Island?

Dynamic Island — är ett interaktivt område baserat på Apples programvaru-hårdvarulösning, som introducerades i september 2022 tillsammans med iPhone 14 Pro. Fysiskt är det en utskärning i form av ett piller, omgiven av OLED-pixlar som dynamiskt ändrar färg och form. Apple använder en kombination av hårdvaruutrymmet för kameran och Face ID med programvarurendering av svarta områden runt det, vilket skapar illusionen av en «levande» ö.

Huvudmålet med Dynamic Island är att överbrygga klyftan mellan systemaviseringar och aktivt innehåll. Istället för att aviseringar visas i mitten av skärmen (som på Android) eller som banners högst upp (som på äldre iOS), integrerar Dynamic Island dem direkt i hårdvaruzonen. Detta minskar distraktion och skapar en känsla av enhetligt utrymme.

Enligt Apple (iOS 17 Adoption Statistics, 2024) är Dynamic Island tillgängligt på 38% av aktiva iPhone. Från och med iPhone 15 (2023) fick alla modeller i serien Dynamic Island, inklusive basmodellerna. I iOS 18 utökade Apple Live Activities API med stöd för nedräkningstimer och sportresultat direkt på Dynamic Island.

Vilka modeller stöder Dynamic Island

Dynamic Island finns tillgängligt på 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. På iPad saknas Dynamic Island. För utveckling med Dynamic Island krävs Xcode 14.1+ och iOS 16.1+.

Hur fungerar Dynamic Island: tre tillstånd

Dynamic Island stöder tre visningstillstånd: kompakt (compact), minimalt (minimal) och utökat (expanded). Övergången mellan tillstånd animeras med UIKit-animationer och Core Animation. Systemet hanterar själv prioriteringen av aktiviteter: om flera appar försöker visa innehåll samtidigt använder iOS en kö baserad på starttiden för den senaste aktiviteten.

TillståndStorlekInnehållExempel
Compact49×18 ptAppikon + systemikonTimer, musik, samtal
MinimalUpp till 66×18 ptIkon + kort textNavigationsanvisningar, steg
ExpandedUpp till 364×160 ptFullständig widget med innehållSportresultat, taxistatus

Kompakt tillstånd — standardvyn för Dynamic Island när en bakgrundsuppgift är aktiv. Visas som ett rundat piller med appikonen till vänster och systemikonen till höger. Som standard startar alla Live Activities i kompakt tillstånd.

Minimalt tillstånd uppstår när två eller flera uppgifter är aktiva samtidigt. Dynamic Island «delas» i två separata element till vänster och höger om kameran. Minimalt tillstånd gör det möjligt att visa två oberoende informationskällor, till exempel taxins ankomsttid och aktuellt spår.

Utökat tillstånd aktiveras genom ett långt tryck på Dynamic Island. I detta läge visas en fullständig widget med anpassningsbart innehåll: rubriker, beskrivningar, förloppsindikatorer, knappar. Det utökade tillståndet stöder rullning och interaktiva element.

ActivityKit och Live Activities: Swift API

ActivityKit — ett Swift-ramverk, introducerat i iOS 16.1, som gör det möjligt för appar att publicera Live Activities på Dynamic Island och Lock Screen. ActivityKit använder en arkitektur baserad på ActivityView och ActivityAttributes: den första definierar innehållstypen, den andra — variabeldata. Ramverket fungerar tillsammans med WidgetKit, men till skillnad från widgetar kan Live Activities uppdateras i realtid utan att öppna appen.

swift
import ActivityKit
import SwiftUI

// Definierar aktivitetsattribut
struct DeliveryAttributes: ActivityAttributes {
    public struct ContentState: Codable, Hashable {
        var driverName: String
        var distanceToArrival: Double
        var estimatedMinutes: Int
    }
    var orderNumber: String
}

// Startar Live Activity
func startDeliveryActivity() {
    let initialState = DeliveryAttributes.ContentState(
        driverName: "Alexej",
        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 uppdateras via ActivityView, som renderar SwiftUI-innehåll för Dynamic Island. Systemet avgör själv vilken mall som ska användas (kompakt, minimal eller utökad), beroende på Dynamic Islands storlek och antalet aktiviteter. För att uppdatera innehållet, anropa activity.update(using: contentState). För att avsluta — activity.end(dismissalPolicy: .immediate).

Dynamiska aviseringar med Push-uppdateringar

ActivityKit stöder push-uppdateringar via APNs (Apple Push Notification Service). Vid start av en Live Activity kan du begära en pushToken och skicka uppdateringar från servern utan att behöva köra appen på enheten. Push-uppdateringar fungerar via activity.pushToken och Activity.pushToStartToken för fjärrstart av Live Activity.

swift
// Uppdatering av Live Activity via Push
func updateActivity(activity: Activity<DeliveryAttributes>) {
    let updatedState = DeliveryAttributes.ContentState(
        driverName: "Alexej",
        distanceToArrival: 1.2,
        estimatedMinutes: 4
    )
    let alertConfiguration = AlertConfiguration(
        title: "Budet är nära",
        body: "Alexej anländer om 4 minuter",
        sound: .default
    )
    await activity.update(
        using: updatedState,
        alertConfiguration: alertConfiguration
    )
}

AlertConfiguration — en extra parameter som visar en avisering ovanför Dynamic Island vid viktiga uppdateringar (till exempel «Budet har anlänt»). Utan AlertConfiguration uppdateras innehållet tyst, vilket passar för förloppsindikatorer och timers.

Dynamic Island vs Notch: jämförelse

Notch (utskärning) — hårdvaruzonen på iPhone X–13, som innehåller framkameran, Face ID-sensorn och högtalaren. Notchen är statisk: dess storlek och form ändras inte och aviseringar visas under den som standardbanners. Dynamic Island använder däremot pixlarna runt utskärningen för att visa innehåll, vilket gör hårdvaruelementet till en del av gränssnittet.

KriteriumDynamic IslandNotch
InteraktivitetStöder tryck, långa tryck, svepInte interaktiv
InnehållsanpassningÄndrar form efter sammanhangStatisk, innehåll under utskärning
Live ActivitiesInbyggt stöd via ActivityKitNej — endast vanliga aviseringar
MultitaskingTvå samtidiga aktiviteter (vänster och höger)Endast en aktivitet
TillgänglighetiOS 16.1+, iPhone 14 Pro och nyareiOS 11+, iPhone X–13

Enligt Apple Human Interface Guidelines (2025) bör Dynamic Island inte användas för reklam eller kontinuerlig visning av statiskt innehåll. Live Activities är endast avsedda för bakgrundsuppgifter med tydlig livscykel: timers, leverans, sport, musik, navigering. Brott mot dessa regler leder till att appen avvisas i App Store Review.

Livscykel och gester för Dynamic Island

Dynamic Island har en strikt livscykel: en aktivitet börjar med en begäran via Activity.request(), går igenom tillstånden aktiv/pausad/uppdaterad och avslutas med anrop av activity.end(). Systemet kan tvångsavsluta aktiviteten vid minnesbrist (till exempel vid start av kameran). I detta fall får appen ett meddelande via ActivityActivityState.finished.

Gester Dynamic Island hanteras av SwiftUI-innehåll inuti ActivityView. Standardgester: tryck på kompakt tillstånd öppnar appen, långt tryck öppnar utökat tillstånd, svep nedåt stänger utökat tillstånd. Anpassade gester läggs till via SwiftUI-modifierare (onTapGesture, onLongPressGesture) inuti aktivitetsvyn.

Hantering av finished-tillstånd

När systemet avslutar en Live Activity (eller användaren tar bort den genom att svepa), bör appen hantera finished-tillståndet för att frigöra resurser. Det rekommenderas att prenumerera på Activity.activityStateUpdates och ta bort lokala referenser till aktiviteten efter slutförande.

swift
import ActivityKit

func observeActivityState(activity: Activity<DeliveryAttributes>) {
    Task {
        for await state in activity.activityStateUpdates {
            switch state {
            case .active:
                print("Activity aktiv på Dynamic Island")
            case .dismissed:
                print("Activity dold av användaren")
                await activity.end(dismissalPolicy: .immediate)
            case .finished:
                print("Activity avslutad av systemet")
                cleanupResources()
            @unknown default:
                break
            }
        }
    }
}

Apple rekommendation (WWDC 2024, Session 10146): använd inte Dynamic Island för att visa status som inte kräver användarens uppmärksamhet. Varje Live Activity bör ha en tydlig start- och sluttrigger. För bakgrundsuppdateringar utan UI, använd Background Tasks, inte Live Activities.

Vanliga frågor

På vilka iPhones fungerar Dynamic Island?

Dynamic Island finns tillgängligt på iPhone 14 Pro, 14 Pro Max och alla modeller av iPhone 15 och iPhone 16 (inklusive basversionerna). För utveckling krävs iOS 16.1+ och Xcode 14.1. På äldre modeller (iPhone X–13) används den statiska notch-utskärningen som inte stöder Live Activities.

Vad skiljer Dynamic Island från en vanlig avisering?

Dynamic Island integrerar aviseringen i skärmens hårdvaruzon utan att täcka innehållet. En vanlig avisering visas som en banner högst upp och försvinner efter några sekunder. Live Activities på Dynamic Island kan förbli aktiva i timmar och uppdateras i realtid (leveransstatus, timer, musik).

Hur uppdaterar jag innehåll på Dynamic Island utan att öppna appen?

Använd push-uppdateringar via APNs. Vid start av en Live Activity, anropa activity.pushToken och skicka token till din server. Servern skickar en update-förfrågan via APNs med ny ContentState. Alternativ — lokal uppdatering via activity.update(using:) från själva appen.

Hur visar jag två aktiviteter samtidigt på Dynamic Island?

iOS delar automatiskt Dynamic Island i två segment när det finns två aktiva Live Activities. Varje aktivitet visas i minimalt tillstånd till vänster och höger om kameran. Vid långt tryck på ett av segmenten öppnas det utökade tillståndet endast för den appen.

Varför visas inte min Live Activity på Dynamic Island?

Kontrollera: (1) appen har NSSupportsLiveActivities = YES i Info.plist, (2) ActivityAttributes och ContentState implementerar Codable och Hashable, (3) iOS-version 16.1+, (4) enheten stöder Dynamic Island. För simulator, använd iPhone 14 Pro eller nyare i Xcode.

Sammanfattning

  • Dynamic Island — den interaktiva zonen på iPhone 14 Pro+ som ersätter den statiska notchen.
  • Stöder tre tillstånd: kompakt, minimalt och utökat med mjuka övergångsanimationer.
  • ActivityKit — Swift-ramverk för att publicera Live Activities på Dynamic Island och Lock Screen.
  • Live Activities uppdateras via lokala anrop eller push-aviseringar via APNs.
  • Gester: tryck för att gå till appen, långt tryck för att expandera panelen, svep för att stänga.
  • Dynamic Island stöder upp till två samtidiga aktiviteter med segmentindelning.
  • Apple begränsar användningen av Live Activities till endast bakgrundsuppgifter med tydliga tidsramar.

Vi utvecklar en mobil applikation nyckelfärdigt

IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.

Diskutera projektet

Läs också