'use client' import React, { useState } from 'react' import { SDKDocsSidebar } from '@/components/SDKDocsSidebar' import { Copy, Check, Apple } from 'lucide-react' function CopyButton({ text }: { text: string }) { const [copied, setCopied] = useState(false) const handleCopy = async () => { await navigator.clipboard.writeText(text) setCopied(true) setTimeout(() => setCopied(false), 2000) } return ( ) } function CodeBlock({ code, filename }: { code: string; filename?: string }) { return (
{filename && (
{filename}
)}
          {code}
        
) } export default function iOSSDKPage() { return (

iOS SDK (Swift)

Native Swift SDK fuer iOS 15+ und iPadOS mit SwiftUI-Unterstuetzung.

{/* Requirements */}

Systemvoraussetzungen

Swift Version 5.9+
iOS Deployment Target iOS 15.0+
Xcode Version 15.0+
{/* Installation */}

Installation

Swift Package Manager

Oder in Xcode: File → Add Package Dependencies → URL eingeben

{/* Basic Usage */}

Grundlegende Verwendung

Bool { // Consent Manager konfigurieren ConsentManager.shared.configure( apiEndpoint: "https://api.example.com/consent", siteId: "my-ios-app" ) // Initialisieren Task { await ConsentManager.shared.initialize() } return true } }`} />
{/* SwiftUI Integration */}

SwiftUI Integration

{/* UIKit Integration */}

UIKit Integration

() override func viewDidLoad() { super.viewDidLoad() // Reaktiv auf Consent-Aenderungen reagieren ConsentManager.shared.$consent .receive(on: DispatchQueue.main) .sink { [weak self] state in self?.updateUI(consent: state) } .store(in: &cancellables) } private func updateUI(consent: ConsentState?) { if consent?.hasConsent(.analytics) == true { loadAnalytics() } } @IBAction func acceptAllTapped(_ sender: UIButton) { Task { await ConsentManager.shared.acceptAll() } } }`} />
{/* Consent Categories */}

Consent-Kategorien

{/* API Reference */}

API Referenz

Methode Beschreibung
configure() SDK konfigurieren
initialize() SDK initialisieren (async)
hasConsent(_:) Consent fuer Kategorie pruefen
acceptAll() Alle Kategorien akzeptieren (async)
rejectAll() Alle ablehnen (async)
setConsent(_:) Spezifische Kategorien setzen (async)
showBanner() Banner anzeigen
exportConsent() Consent-Daten exportieren (DSGVO)
) }