Skip to content

Einrichtung

I767513 edited this page May 10, 2026 · 2 revisions

Einrichtung

Voraussetzungen auf einen Blick: Xcode 15+, macOS Ventura+, RNV API-Zugangsdaten


Inhaltsverzeichnis

  1. Voraussetzungen
  2. Projekt klonen
  3. API-Zugangsdaten konfigurieren
  4. Signing & Team
  5. Build-Targets
  6. Erster Start
  7. Troubleshooting

1. Voraussetzungen

Tool Mindestversion Hinweis
Xcode 15.0 Aus dem Mac App Store
macOS Ventura 13.0
iOS Deployment Target 16.2 Live Activities erfordern 16.2+
watchOS Deployment Target 10.0
RNV API-Zugangsdaten Siehe Schritt 3

2. Projekt klonen

git clone https://github.com/friedrichstefan/RNV-Transport-App.git
cd RNV-Transport-App
open "Mannheim ÖPNV.xcodeproj"

Swift Package Manager lädt Apollo iOS automatisch beim ersten Öffnen in Xcode. Das kann einen Moment dauern.


3. API-Zugangsdaten konfigurieren

Die App nutzt die RNV-API mit Azure-AD-Authentifizierung. Credentials werden nicht im Repository gespeichert.

Zugangsdaten beantragen

API-Zugangsdaten für den RNV GraphQL Sandbox-Endpunkt können kostenlos über das RNV Open Data Portal beantragt werden. Du erhältst eine Client ID und ein Client Secret.

Secrets konfigurieren

Erstelle die Datei Secrets.xcconfig im Projektstamm (sie ist bereits in .gitignore):

cp Secrets.xcconfig.example Secrets.xcconfig   # falls eine Vorlage vorhanden

Oder lege sie manuell an:

// Secrets.xcconfig
RNV_CLIENT_ID = deine-client-id-hier
RNV_CLIENT_SECRET = dein-client-secret-hier

Wichtig: Secrets.xcconfig niemals committen. Sie ist in .gitignore eingetragen und wird beim Build automatisch eingelesen.


4. Signing & Team

Das Projekt verwendet automatisches Signing. Du musst einmalig dein Development Team eintragen:

  1. Öffne das Projekt in Xcode
  2. Wähle im Project Navigator das Projekt Mannheim ÖPNV
  3. Navigiere zu Signing & Capabilities für jedes Target:
    • Mannheim ÖPNV
    • RNVWatch
    • RNVLiveActivity
  4. Wähle bei Team dein Apple Developer Account

Für Tests auf einem echten Gerät ist ein kostenloses Apple Developer Konto ausreichend. Für die Veröffentlichung im App Store wird das kostenpflichtige Apple Developer Program benötigt.


5. Build-Targets

Target Schema Beschreibung
Mannheim ÖPNV Mannheim ÖPNV Haupt-iOS-App
RNVWatch RNVWatch Apple Watch App (watchOS 10+)
RNVLiveActivity Live Activity Extension (wird automatisch mitgebaut)

Nur iOS testen

Schema Mannheim ÖPNV auswählen, Simulator oder Gerät wählen, ⌘R.

Watch-App testen

Schema RNVWatch auswählen, einen Apple Watch Simulator als Ziel wählen. Der dazugehörige iPhone-Simulator startet automatisch.

Live Activities testen

Live Activities können nicht im Simulator getestet werden – dafür ist ein echtes iPhone ab iPhone 14 Pro erforderlich.


6. Erster Start

Beim ersten App-Start erscheint das Onboarding:

  • Standortzugriff erlauben (optional, für GPS-basierte Haltestellensuche)
  • Gewünschte Verkehrsmittel auswählen (Tram, Bus, S-Bahn)
  • Suchradius einstellen (Standard: 500 m)

Danach ist die App einsatzbereit.


7. Troubleshooting

„Package resolution failed" beim ersten Öffnen

Swift Package Manager konnte Apollo nicht laden. Lösung:

File → Packages → Resolve Package Versions

„Signing certificate not found"

Team-Auswahl in den Signing & Capabilities fehlt. Schritt 4 durchführen.

API antwortet nicht / 401 Unauthorized

  • Prüfe ob Secrets.xcconfig korrekt angelegt und befüllt ist
  • Prüfe ob Client ID und Secret korrekt sind
  • Der RNV Sandbox-Endpunkt ist gelegentlich kurzfristig nicht erreichbar

Watch-App überträgt keine Daten

  • Stelle sicher, dass die iPhone-App mindestens einmal gestartet wurde
  • iPhone und Watch müssen gepairt sein
  • Im Simulator: Device → Trigger iCloud Sync kann helfen

Live Activity erscheint nicht

  • Live Activities müssen in den iOS-Einstellungen aktiviert sein: Einstellungen → ÖPNV Mannheim → Live Activities
  • Mindestanforderung: iOS 16.2 auf einem beliebigen iPhone (Dynamic Island nur auf iPhone 14 Pro+)