iCloud Drive: wat is het, Apple cloudopslag en hoe het werkt

Auteur: IT Sectr Gepubliceerd: 2026-07-11 Leestijd: 6 min

iCloud Drive is een cloudbestandsopslag van Apple, ingebouwd in iOS, macOS en iPadOS voor het synchroniseren van documenten tussen de apparaten van de gebruiker. Volgens Apple, 2024, gebruikt iCloud Drive CloudKit als backend voor bestandsopslag en automatische synchronisatie: wijzigingen op de iPhone worden onmiddellijk weerspiegeld op Mac en iPad zonder tussenkomst van de gebruiker. Ontwikkelaars kunnen iCloud Drive integreren in apps via NSDocumentPickerViewController en Ubiquity API.

Belangrijkste

  • iCloud Drive — Apple-cloudopslag voor bestandssynchronisatie tussen apparaten
  • CloudKit — iCloud-backend die gegevensopslag en synchronisatie verzorgt
  • Ubiquity container — speciale map voor het opslaan van gesynchroniseerde app-bestanden
  • NSDocumentPickerViewController — systeemcontroller voor importeren en exporteren van iCloud-bestanden
  • Versieconflicten worden automatisch opgelost via NSFileVersion met het maken van conflicterende kopieën

Wat is iCloud Drive in iOS?

iCloud Drive is een cloudbestandsservice van Apple die een uniforme documentopslag biedt voor alle apparaten van de gebruiker die geautoriseerd zijn onder hetzelfde Apple ID. De service werd in 2014 gelanceerd samen met iOS 8 en OS X Yosemite als vervanging voor iCloud Documents.

iCloud Drive verschilt van andere cloudopslagen (Google Drive, Dropbox) door diepe integratie met het besturingssysteem: bestanden worden direct weergegeven in Finder op macOS en in de app Bestanden op iOS, zonder dat een extra app hoeft te worden geïnstalleerd. Het systeem synchroniseert automatisch de inhoud op de achtergrond, schakelend tussen Wi-Fi en mobiel netwerk.

Volgens Apple Platform Overview, 2024, ondersteunt iCloud Drive bestandsversiebeheer tot 30 dagen, het delen van mappen via iCloud Sharing en integratie met de systeemzoekopdracht Spotlight. Ontwikkelaars krijgen toegang tot de opslag via NSFileCoordinator API en Ubiquity containers.

Architectuur van iCloud Drive en Ubiquity

Ubiquity — Apple-term die het vermogen van gegevens aangeeft om “overal aanwezig te zijn” (van Engels ubiquitous). In de context van iCloud Drive is dit een mechanisme dat bestanden automatisch laat synchroniseren tussen alle apparaten van de gebruiker via de cloudbackend CloudKit.

ComponentBeschrijvingRol
Ubiquity containerSpeciale app-mapSlaat bestanden op voor synchronisatie
CloudKitApple-backenddienstVerzorgt opslag en synchronisatie
NSMetadataQuerySysteemqueryVolgt de status van Ubiquity-bestanden
NSFileVersionVersiebeheerLost wijzigingsconflicten op

Ubiquity container is een map binnen de Sandbox van de app die is gemarkeerd voor synchronisatie. Bestanden die in deze map worden geplaatst, worden automatisch geüpload naar iCloud Drive en verspreid naar andere apparaten. Toegang tot de container wordt geconfigureerd via Capabilities in Xcode.

Het systeem volgt de status van elk bestand via NSMetadataQuery: een bestand kan lokaal zijn (gedownload op het apparaat), extern (alleen in de cloud) of wordt gedownload. De ontwikkelaar kan programmatisch het downloaden van een bestand aanvragen of de beschikbaarheid ervan controleren voordat het wordt geopend.

Integratie van iCloud Drive in een app

Integratie van iCloud Drive begint met het toevoegen van iCloud capability in Xcode en het inschakelen van de iCloud Documents-service. Daarna krijgt de app toegang tot de Ubiquity container — een speciale map waarvan het pad wordt teruggegeven via FileManager.

swift
import UIKit

class DocumentManager {
    func ubiquityURL() -> URL? {
        return FileManager.default
            .url(forUbiquityContainer: nil)
    }

    func saveToICloud(data: Data, filename: String) {
        guard let containerURL = ubiquityURL() else { return }
        let fileURL = containerURL
            .appendingPathComponent(filename)

        do {
            try data.write(to: fileURL)
            Logger.storage.info(
                "Saved \(filename) to iCloud Drive"
            )
        } catch {
            Logger.storage.error(
                "Save failed: \(error.localizedDescription)"
            )
        }
    }

    func listICloudFiles() {
        let query = NSMetadataQuery()
        query.searchScopes = [NSMetadataQueryUbiquitousDocumentsScope]
        query.start()
    }
}

NSDocumentPickerViewController biedt een systeem-UI voor het selecteren en importeren van bestanden uit iCloud Drive. De gebruiker ziet een standaard bestandsbrowser met ondersteuning voor zoeken, sorteren en meervoudige selectie. Na selectie van een bestand ontvangt de app de URL en kan ermee werken via NSFileCoordinator.

Belangrijke regel: bij het werken met iCloud Drive-bestanden moet NSFileCoordinator worden gebruikt voor lezen en schrijven. Dit garandeert dat het bestand niet wordt gewijzigd door een ander proces (bijvoorbeeld synchronisatie) tijdens de bewerking. Het verwaarlozen van coördinatie kan leiden tot gegevensbeschadiging.

Conflictoplossing en NSFileVersion

Versieconflicten ontstaan wanneer een bestand gelijktijdig op twee apparaten wordt gewijzigd voordat de synchronisatie is voltooid. iOS detecteert dergelijke situaties automatisch via NSFileVersion en maakt conflicterende versies die de gebruiker of app moeten oplossen.

swift
func resolveConflicts(for fileURL: URL) {
    let conflictVersions = NSFileVersion
        .unresolvedConflictVersionsOfItem(at: fileURL) ?? []

    for version in conflictVersions {
        do {
            let conflictData = try Data(contentsOf: version.url)
            let resolved = mergeData(
                original: try Data(contentsOf: fileURL),
                conflict: conflictData
            )
            try resolved.write(to: fileURL)
            version.remove()
        } catch {
            Logger.sync.error(
                "Conflict resolution failed: \(error)"
            )
        }
    }
}

NSFileVersion bewaart de wijzigingsgeschiedenis van een bestand tot 30 dagen. Elke versie bevat een URL, aanmaakdatum en de identificatie van het apparaat dat de versie heeft gemaakt. Het systeem markeert versies automatisch als conflicterend wanneer twee apparaten wijzigingen met dezelfde basisidentificatie verzenden.

Oplossingsstrategieën: de app kan wijzigingen automatisch samenvoegen (voor ondersteunde formaten), de gebruiker een versiekeuze tonen of de strategie ‘laatste schrijver’ (last-writer-wins) toepassen. Apple raadt voor tekstuele en gestructureerde gegevens automatisch samenvoegen aan, en voor binaire formaten het tonen van conflicterende versies aan de gebruiker.

Opslaglimieten en optimalisatie

Gratis opslag van iCloud bedraagt 5 GB, verdeeld over alle diensten van de gebruiker: back-ups, foto’s, e-mail en iCloud Drive. Betaalde abonnementen beginnen bij 50 GB en gaan tot 12 TB. Voor apps met intensieve bestandsuitwisseling is het cruciaal om deze limieten in acht te nemen.

Opslagoptimalisatie: iOS biedt een mechanisme voor het vrijmaken van bestanden (eviction) — wanneer de lokale ruimte opraakt, kan het systeem de gecachete kopieën van iCloud Drive-bestanden verwijderen, waarbij alleen metadata overblijft. Bij het openen van een dergelijk bestand downloadt het systeem het automatisch uit de cloud. De ontwikkelaar kan dit proces beheren via NSFileCoordinator en de bestandsstatus controleren via NSMetadataUbiquitousItemDownloadingStatusKey.

Volgens WWDC 2022 beveelt Apple de volgende praktijken aan voor optimalisatie van iCloud Drive: bewaar in Ubiquity container alleen gebruikersdocumenten, niet de app-cache; gebruik asynchrone downloads met voortgangsindicator; geef de gebruiker informatie over de bestandsgrootte vóór het downloaden; implementeer ondersteuning voor hervatten voor grote bestanden.

Belangrijke nuance: het verwijderen van een bestand uit de Ubiquity container leidt tot verwijdering van alle apparaten van de gebruiker. Gebruik voor tijdelijke bestanden de lokale Documents-map, niet de Ubiquity container. Houd er ook rekening mee dat synchronisatie niet onmiddellijk is — de vertraging kan variëren van enkele seconden tot minuten, afhankelijk van de bestandsgrootte en het netwerk.

Veelgestelde vragen

Wat is iCloud Drive?

iCloud Drive is een cloudbestandsopslag van Apple die documenten synchroniseert tussen iPhone, iPad, Mac en PC. Het is geïntegreerd in Finder en de Bestanden-app, waardoor u met documenten kunt werken zonder extra apps.

Hoe synchroniseert iCloud Drive bestanden?

Synchronisatie werkt via CloudKit: bestanden uit de Ubiquity container van de app worden automatisch naar de cloud geüpload en verspreid naar andere apparaten van de gebruiker. Het systeem gebruikt NSMetadataQuery voor statuscontrole en NSFileCoordinator voor veilige toegang.

Hoe integreer ik iCloud Drive in een app?

Voeg iCloud capability toe in Xcode, schakel de iCloud Documents-service in en gebruik FileManager.url(forUbiquityContainer:) om het pad naar de gesynchroniseerde map te krijgen. Gebruik NSDocumentPickerViewController voor het selecteren van bestanden.

Wat te doen bij een versieconflict in iCloud Drive?

iOS maakt conflicterende versies via NSFileVersion. De ontwikkelaar kan wijzigingen automatisch samenvoegen of de gebruiker een keuze tonen. Het systeem bewaart versies tot 30 dagen en markeert automatisch conflicten bij gelijktijdige wijzigingen van verschillende apparaten.

Wat zijn de limieten van iCloud Drive?

Gratis wordt 5 GB geboden voor alle iCloud-diensten. Betaalde abonnementen: 50 GB, 200 GB, 2 TB, 6 TB en 12 TB. Implementeer voor grote bestanden ondersteuning voor hervatten en controleer de beschikbare ruimte voordat u schrijft.

Samenvatting

  • iCloud Drive — Apple-cloudopslag met automatische synchronisatie tussen apparaten via CloudKit
  • Ubiquity container — speciale app-map voor het opslaan van gesynchroniseerde bestanden
  • NSMetadataQuery volgt de downloadstatus en beschikbaarheid van iCloud Drive-bestanden
  • NSFileCoordinator is verplicht voor veilig lezen en schrijven van gesynchroniseerde bestanden
  • Versieconflicten worden automatisch gedetecteerd en vereisen oplossing via NSFileVersion
  • Optimalisatie omvat het vrijmaken van ongebruikte bestanden en asynchroon downloaden met voortgang
  • Gratis limiet 5 GB — voor grotere volumes is een betaald iCloud+-abonnement vereist

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook