ARKit Swift: Das komplette ARKit-Tutorial mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

ARKit für Swift: Das ultimative Tutorial für Augmented Reality

1. Was ist ARKit und warum braucht man es?

ARKit ist ein Augmented-Reality-Framework (AR) von Apple für iOS und iPadOS. Es ermöglicht Entwicklern, beeindruckende AR-Apps zu erstellen, die virtuelle 3D-Objekte, Animationen und Informationen nahtlos in die reale Umgebung einblenden – direkt durch die Kamera des Geräts. ARKit nutzt Computer Vision, Sensordaten (Beschleunigungssensor, Gyroskop, Kamera) und maschinelles Lernen, um die Position des Geräts präzise zu verfolgen, Ebenen (Tische, Böden, Wände) zu erkennen und Bilder sowie Objekte zu identifizieren.

Warum ARKit? Die Einsatzmöglichkeiten sind grenzenlos: von Games (Pokémon GO) und Bildung (interaktive Lehrbücher) über Einzelhandel (Möbelprobe bei IKEA Place) bis hin zur Industrie (Visualisierung komplexer Maschinen). Statt aufwändige Algorithmen selbst zu programmieren, bekommst du ein fertiges, optimiertes und leistungsstarkes Werkzeug, das die gesamte „schwere Arbeit“ der Videoanalyse und Objektverfolgung übernimmt.

In diesem Tutorial zeigen wir dir Schritt für Schritt, wie du mit ARKit in Swift startest, erklären die wichtigsten Klassen und Methoden und entwickeln eine voll funktionsfähige Beispiel-App. Du lernst, wie du schnell AR-Funktionen in dein Projekt integrierst und typische Fehler vermeidest.

2. Installation

ARKit ist kein externes Paket, sondern ein integriertes Apple-Framework. Du musst es nicht über CocoaPods, den Swift Package Manager oder pip installieren. Es reicht, es in dein Xcode-Projekt zu importieren.

Wichtiger Hinweis: ARKit funktioniert nur auf Geräten mit A9-Chip oder neuer (iPhone 6s und neuer, iPad 2017 und neuer) und benötigt iOS 11.0 oder höher. Der Xcode-Simulator unterstützt ARKit nur eingeschränkt (keine Kamera), daher brauchst du für die Entwicklung und Tests ein physisches Gerät.

Schritte für den Start:

  1. Öffne Xcode und erstelle ein neues Projekt (File → New → Project).
  2. Wähle die Vorlage „Augmented Reality App“. Xcode konfiguriert das Projekt automatisch mit SceneKit (oder RealityKit) und ARKit.
  3. Wenn du ARKit zu einem bestehenden Projekt hinzufügst, importiere einfach das Framework in die gewünschte Datei.

Import-Befehl (im Code):

import ARKit

Mehr Installationsschritte sind nicht nötig. Falls du RealityKit (das modernere AR-Framework) verwendest, importiere stattdessen:

import RealityKit

3. Schnellstart – Minimales funktionierendes Beispiel

Lass uns eine minimale AR-App erstellen, die einen einfachen 3D-Würfel auf einer erkannten horizontalen Ebene anzeigt.

1. ViewController einrichten:

Stelle sicher, dass dein ViewController von ARSCNViewDelegate (für SceneKit) oder ARViewDelegate (für RealityKit) erbt. In diesem Beispiel verwenden wir SceneKit, da es einfacher für den Einstieg ist.

import UIKit
import ARKit

class ViewController: UIViewController, ARSCNViewDelegate {

    @IBOutlet var sceneView: ARSCNView!

    override func viewDidLoad() {
        super.viewDidLoad()
        sceneView.delegate = self
        sceneView.showsStatistics = true // Zeigt FPS und andere Statistiken an
        sceneView.debugOptions = [ARSCNDebugOptions.showFeaturePoints] // Zeigt Punkte, die die Kamera erkennt
    }

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        let configuration = ARWorldTrackingConfiguration()
        configuration.planeDetection = [.horizontal] // Aktiviert die Erkennung horizontaler Ebenen
        sceneView.session.run(configuration)
    }

    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        sceneView.session.pause()
    }
}

2. AR-Inhalt hinzufügen:

Implementiere die Delegate-Methode renderer(_:didAdd:for:), die aufgerufen wird, sobald eine neue Ebene erkannt wird. Hier platzieren wir unseren Würfel.

func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
    guard let planeAnchor = anchor as? ARPlaneAnchor else { return }

    // Erstelle einen 3D-Würfel
    let cube = SCNBox(width: 0.1, height: 0.1, length: 0.1, chamferRadius: 0)
    let material = SCNMaterial()
    material.diffuse.contents = UIColor.blue
    cube.materials = [material]

    let cubeNode = SCNNode(geometry: cube)
    cubeNode.position = SCNVector3(planeAnchor.center.x, 0, planeAnchor.center.z)

    node.addChildNode(cubeNode)
}

3. App ausführen:

Baue das Projekt und starte es auf einem kompatiblen iOS-Gerät. Richte die Kamera auf eine flache Oberfläche (z. B. einen Tisch). Sobald die Ebene erkannt wird, erscheint ein blauer Würfel an dieser Position.

Das war's! Du hast gerade deine erste AR-App mit ARKit und Swift erstellt. Im nächsten Abschnitt gehen wir auf die wichtigsten Methoden und fortgeschrittene Techniken ein.

Empfehlungen