Praxisbericht ⑦: Eine stillgelegte iOS-App mit KI wiederbeleben

KI-Fallbeispiele

Die iOS-App desselben Dienstes war das Hauptschlachtfeld, auf dem die Mehrheit der Mitglieder liegt. Dennoch schwiegen die Benachrichtigungen hier noch stiller als unter Android — der Benachrichtigungsweg der vorigen Generation war vollständig abgerissen. Im Anschluss an Praxisbericht ⑥ (den Android-Teil) fassen wir diesmal die iOS-spezifischen Stolperstellen zusammen sowie das, was für beide Betriebssysteme gilt: wie wir die Benachrichtigungen modernisiert haben, ohne den alten Server anzufassen.

Je mehr Nutzer eine Plattform hat, desto stiller vergrößert das Schweigen der Benachrichtigungen den Schaden.
Gerade die „Störung, die niemand bemerkt“, ist es wert, zuerst beseitigt zu werden.

Die meisten Nutzer waren auf iOS. Und auf iOS waren die Benachrichtigungen tot.

Wie unter Android war auch die iOS-App eine native Hülle, die einen bestehenden Webdienst anzeigt — ein WebView-Wrapper plus Benachrichtigungen. Der Versand hing an einem Mechanismus der vorigen Generation, und die Zustellung endete in dem Moment, in dem dieser Weg unbrauchbar wurde. Da die meisten Nutzer hier lagen, war die Reichweite der Auswirkungen maximal. Genau diesen Teil auf eine moderne Zustellplattform umzuziehen, war der größte Ertrag des Projekts.

ca. 10.800iOS-Geräte (Mehrheit des Gesamtbestands)
ca. 14.000registrierte Geräte (gesamt)
0 YenKosten für den Servertausch

Die Stolperstellen bei iOS waren durchweg solche, die nur auf echter Hardware auftreten.

Bei iOS standen Probleme im Vordergrund, die weder ein virtuelles Gerät noch ein Code-Review zeigt — sie treten erst auf echter Hardware zutage.

Der Benachrichtigungsweg der vorigen Generation war vollständig unterbrochenKommunikationswegDas alte Benachrichtigungsverfahren wurde eingestellt, es gab kein Mittel mehr zum Versenden. Wir haben die aktuelle Zustellplattform (FCM) zur Achse gemacht und den Authentifizierungsschlüssel auf Apple-Seite nach dem neuen Verfahren neu registriert und damit die Zustellung wiederhergestellt.
Japanischer Text im WebView wurde zu „Tofu“AnwendungEin Symptom, das nur auf echter Hardware auftritt: Wegen der Standard-Schrifteinstellung wird japanischer Text zu einer Reihe von □. Wir haben eine Schriftfestlegung eingespeist, die das bestehende Erscheinungsbild lateinischer Schrift erhält und zugleich sicherstellt, dass allein Japanisch zuverlässig dargestellt wird, womit sich das erledigt hat.
Zwischen OS-Generationen gelten für Benachrichtigungs-Badges und Webdarstellung unterschiedliche RegelnAnwendungUnter neuerem iOS hat sich geändert, wie Badge-Aktualisierungen und die Berechtigungseinstellungen des WebView zu schreiben sind. Wir haben nach Generationen verzweigt, sodass alte wie neue Geräte dasselbe Erlebnis bieten.
Nur die Testverbindung wurde von den Sicherheitseinstellungen blockiertKommunikationswegiOS untersagt Klartextverbindungen standardmäßig. Im Produktivbetrieb haben wir ausschließlich verschlüsselte Kommunikation beibehalten, eine allein auf die Testumgebung begrenzte Ausnahme eingerichtet und diese Ausnahme in der Release-Fassung wieder entfernt, um auf der sicheren Seite zu bleiben.

Die Hülle wurde in Swift neu gebaut, Inhalt und Mitglieder blieben unangetastet.

Die iOS-App hat ein KI-Agent auf einen aktuellen nativen Aufbau (Swift + WKWebView + aktuelle Benachrichtigungsplattform) neu gebaut. Wir haben alles durchlaufen, von der Erzeugung des Projektgerüsts bis zur Prüfung auf echter Hardware, und die Funktion mit einem Gerätebuild vom Mac aus bestätigt. Der angezeigte Inhalt (der bestehende Webdienst) und der Mitgliederbestand von rund 14.000 registrierten Geräten wurden unverändert übernommen.

PunktBisherNach dem Neubau
BenachrichtigungswegBenachrichtigungsverfahren der vorigen Generation
(eingestellt – Versand nicht möglich)
Aktuelle Zustellplattform + Authentifizierungsschlüssel im neuen Verfahren
App-HülleNative Umsetzung einer alten GenerationMit Swift + WKWebView neu erzeugt
Oberfläche (Inhalt)Zeigt den bestehenden Webdienst anBleibt unverändert (Mitgliederbestände erhalten)
Fehler auf echter HardwareVerstümmelter japanischer Text u. a.Schriften, Badges und Generationsunterschiede einzeln behandelt

Den alten Server haben wir modernisiert, ohne ihn zu ersetzen.

Der für beide Betriebssysteme entscheidende Punkt war der Server auf der Senderseite. Dieser Server läuft in einer sehr alten Laufzeitumgebung, sodass sich die aktuellen offiziellen Werkzeuge dort nicht ohne Weiteres einsetzen lassen. Deshalb haben wir die für die Authentifizierung nötige Signaturverarbeitung selbst implementiert und die Verbindung zur aktuellen Zustellplattform hergestellt. Ohne den Server komplett auszutauschen, haben wir allein die Benachrichtigungen auf ein modernes Verfahren umgestellt.

Zusätzlich wurde die Senderseite von der gemeinsamen Basis gelöst und als eigenständiger Zustelldienst neu gebaut, sodass sich die Empfänger über eine Verwaltungsoberfläche auswählen und anschreiben lassen.

Bevor an 14.000 Geräte gleichzeitig gesendet wird: erst an eines.Eine Benachrichtigung lässt sich nicht zurückholen. Deshalb haben wir zuerst eine Sicherung eingebaut, die nur den Versand an freigegebene Geräte zulässt, und während des Tests mit einem Zustand begonnen, in dem nur unser eigenes einzelnes Gerät etwas empfängt. Der Versand an alle Geräte wurde erst freigegeben, nachdem Weg und Wortlaut auf echter Hardware vollständig geprüft waren — das Risiko eines Fehlversands konstruktiv auszuschließen hat für uns oberste Priorität.

Selbst eine mobile App, von der es heißt, sie laufe nicht mehr, lässt sich mit einem einzigen Neubau in den laufenden Betrieb zurückholen: die Hülle neu bauen, Schlüssel und Mitgliederbestände übernehmen und den alten Server modernisieren. Wenn Sie eine App haben, die Sie als unberührbar aufgegeben haben, sprechen Sie uns zuerst auf eine Analyse des Vorhandenen an.

* Dieser Beitrag verallgemeinert ein reales Projekt so weit, dass weder Unternehmen noch Dienst identifizierbar sind. Die Zahlen sind Näherungswerte auf Basis von Messungen mit Stand August 2026. Dauer und Umfang der Arbeiten hängen vom Aufbau der jeweiligen App ab.

Kategorie:

Tags:

🌐 Deutsch