Die Apple-Präsentation ist gerade zu Ende, und in den sozialen Medien diskutiert die eine Hälfte der Leute über die Farben des neuen iPhones, während die andere Hälfte – besonders die, die programmieren – Links in Gruppen teilt und fragt: „Wer kennt einen zuverlässigen UUID-Generator?“ Außenstehende sind verwirrt: Was hat die Präsentation mit UUIDs zu tun? Eigentlich ist das überhaupt nicht verwunderlich.
Jedes Mal, wenn Apple ein neues System oder neue Hardware vorstellt, haben Entwickler eine Weile zu tun. Dieses Jahr ist es besonders aufwendig: iOS 18 hat die zugrunde liegende Logik der Datenschutzberechtigungen geändert. Wenn Apps auf bestimmte Gerätekennungen zugreifen wollen, müssen sie einen neuen Autorisierungsprozess durchlaufen. Früher haben viele Teams es sich einfach gemacht und die Geräte-ID direkt als eindeutige Benutzerkennung verwendet. Jetzt ist dieser Weg endgültig versperrt. Was tun? Man muss brav eine UUID generieren, sie im Schlüsselbund speichern und als anonyme Benutzer-ID verwenden. Also ist nach der Präsentation die Suchanfrage nach UUID-Generatoren, einem normalerweise unscheinbaren kleinen Tool, um mehr als das Zehnfache gestiegen.
UUID steht für Universally Unique Identifier, auf Deutsch etwa universell eindeutiger Bezeichner. Es ist im Grunde eine Zeichenkette, die wie ein wirrer Haufen aussieht, zum Beispiel „550e8400-e29b-41d4-a716-446655440000“. Der Kernwert liegt in zwei Wörtern: keine Duplikate. Theoretisch könntest du jede Sekunde hundert Millionen davon generieren und das hundert Jahre lang ununterbrochen – die Wahrscheinlichkeit einer Kollision ist geringer, als von einem Meteoriten getroffen zu werden. Für Entwickler ist das Ding wie ein Personalausweis für Daten: Benutzer, Bestellungen, Logs, Sitzungen – allem kann man eine UUID anhängen.
Aber hier kommt das Problem: UUID-Generatoren gibt es überall. Warum suchen plötzlich alle nach der Apple-Präsentation danach? Weil es diesmal eine Falle gibt. iOS 18 stellt Anforderungen an die UUID-Version. Version 4 muss einen kryptografisch sicheren Zufallszahlengenerator verwenden, kein gewöhnliches Pseudozufall mehr. Manche alten Tools erzeugen UUIDs, die oberflächlich betrachtet in Ordnung aussehen, aber die Zufallsquelle ist nicht robust genug – bei der Apple-Prüfung könnte die App abgelehnt werden. Hinzu kommen Änderungen an der Schlüsselbund-Synchronisierung im neuen System: Unter demselben iCloud-Konto muss die UUID geräteübergreifend konsistent bleiben. Das erfordert, dass der Generator den Export und Import von Schlüsseln unterstützt. Diese Details beachtet normalerweise niemand, aber sobald nach der Präsentation alle gleichzeitig anpassen, kommen sie alle ans Licht.
Ich kenne einen unabhängigen Entwickler, der eine Gewohnheits-Tracking-App macht. Am Abend des Präsentationstags beschwerte er sich in einer Gruppe, dass die alte App-Version auf dem neuen System läuft und alle Benutzerdaten durcheinander sind, weil der zuvor verwendete UUID-Generator die iCloud-Synchronisierung nicht berücksichtigt hat. Nach einem Gerätewechsel wurde eine neue ID generiert, und alle Check-in-Einträge waren verloren. Er wechselte über Nacht zu einem Online-Tool, das Schlüsselexport unterstützt, migrierte die Benutzerdaten neu und werkelte bis vier Uhr morgens. Ein Satz von ihm war ziemlich treffend: „Die Apple-Präsentation ist die Frühlingsgala für Verbraucher und die Abschlussprüfung für Entwickler.“
Welche Tools verwenden normale Entwickler jetzt? Nach meiner Beobachtung gibt es ungefähr drei Lager. Ein Lager verwendet die Kommandozeile: Linux und macOS bringen uuidgen mit, einmal Enter drücken und schon kommt eine heraus – einfach und direkt, aber nicht für Massengenerierung geeignet und unbequem für plattformübergreifende Synchronisierung. Ein Lager verwendet Online-Tools: Webseite öffnen, einmal klicken, kopieren, fertig – gut für den temporären Gebrauch, aber man muss eine zuverlässige Seite wählen. Manche Websites protokollieren die von dir generierten UUIDs im Backend, und das bedeutet, die Benutzer-ID läuft nackt herum. Ein weiteres Lager verwendet Programmbibliotheken: das uuid-Modul in Python, das uuid-Paket in JavaScript, direkt in den Code integriert – am sichersten, aber jedes Mal muss man ein Skript ausführen, was beim Debuggen unpraktisch ist.
Deshalb speichern wirklich erfahrene Entwickler auf ihrem Handy normalerweise ein oder zwei Lesezeichen für Online-UUID-Generatoren, speziell solche, die rein im Frontend generieren, nicht mit dem Internet verbunden sind, Massenexport unterstützen und bei denen man die Version wählen kann. Nach der Apple-Präsentation sind die Zugriffe auf solche Tools explodiert – nicht weil plötzlich alle nicht mehr programmieren können, sondern weil bei der Anpassung an das neue System schnell validiert, in Massen generiert und die Wirkung verschiedener Versionen verglichen werden muss. Ein Freund aus dem Backend-Bereich erzählte mir, er habe in den letzten zwei Tagen mit einem Online-Tool über zweitausend UUIDs generiert, nur um die Schlüsselbund-Synchronisierungslogik des neuen Systems zu testen und zu sehen, welche kollidieren.
Letztlich ist ein UUID-Generator wie ein Hammer: Normalerweise liegt er im Werkzeugkasten und staubt ein, aber sobald renoviert wird, stellt man fest, dass er überall gebraucht wird. Die Apple-Präsentation ist diese Renovierungsankündigung, die Entwicklern sagt: Zeit, den Hammer herauszuholen. Und diesmal ist die Renovierung nicht klein: Datenschutz, Synchronisierung und Sicherheit werden gleichzeitig in drei Dimensionen geändert, da wagt niemand, nachlässig zu sein. Wenn du Entwickler bist oder Entwicklerfreunde hast, solltest du in letzter Zeit besser auch einen zuverlässigen UUID-Generator bereithalten, statt erst daran zu denken, wenn die Prüfung abgelehnt wurde.
Zum Schluss noch ein Hinweis: Sei wachsam bei der Tool-Auswahl. Wenn du dich beim Öffnen anmelden musst und nach der Generierung noch Werbung eingeblendet wird, schließe es sofort. Ein guter UUID-Generator sollte wie Luft sein: Wenn du ihn brauchst, ist er da; wenn du ihn nicht brauchst, stört er dich überhaupt nicht. Apple-Präsentationen gibt es jedes Jahr, und die Abschlussprüfung der Entwickler gibt es auch jedes Jahr. Es schadet nie, ein paar handliche kleine Tools im Werkzeugkasten zu haben.