AirPlay-2-Streaming lässt macOS-Apps versagen

Ein Bug führt dazu, dass Anwendungen aus dem Mac App Store nicht mehr starten, wenn gerade Inhalte über Apples Streamingprotokoll übertragen wird.

In Pocket speichern vorlesen Druckansicht
Apple Music Catalina

Betroffen ist nicht nur Catalina (hier die neue Musik-App).

(Bild: Apple)

Lesezeit: 2 Min.

In macOS steckt aktuell ein Fehler, der das Ausführen von aus dem Mac App Store bezogenen Apps verhindern kann. Es wird die Meldung angezeigt, dass die Anwendung "beschädigt" sei. Auch eine Löschung und ein neuerlicher Download helfen nicht. Das hat der Entwickler Chris Liscio festgestellt.

Der Bug tritt allerdings nur dann auf, wenn Nutzer gerade dabei sind, mittels AirPlay 2 aktuell einen Streamingprozess laufen zu lassen und gleichzeitig eine Ethernet-Verbindung für die Netzwerkversorgung nutzen. WIrd das Streaming beendet (oder nur WLAN genutzt), arbeitet die problematische App normal und startet wie gewünscht.

Grund für die Schwierigkeiten ist offenbar die Tatsache, dass Apple beim Start von AirPlay-2-Streams plötzlich zwei Netzwerkgeräte mit dem BSD-Namen "en0" aktiviert – den Ethernet-Anschluss sowie ein spezielles Streaming-Gerät, das nach Beendigung des Streams auch wieder verschwindet. Wird nun eine macOS-Anwendung aus dem App Store gestartet, versucht diese, zu überprüfen, dass sie auf einem dafür autorisierten Mac (also dem des Käufers) läuft.

Dazu wird auf eine einzigartige ID zugegriffen, die die MAC-Adresse der Standardnetzwerkschnittstelle, besagte en0, bildet. Ist AirPlay 2 aktiv, findet der Verifizierungscode diese ID plötzlich nicht mehr – die App gibt eine Fehlermeldung aus, weil sie sich nicht verifizieren kann. Auch in Apples Beispielcode für die Verifikation von App-Store-Anwendungen wird der Bug laut Liscio nicht umgangen. Manchmal komme es sogar vor, dass das Beenden des AirPlay-2-Streams nichts hilft – dann muss der Rechner neu gestartet werden, bevor App-Store-Anwendungen wieder laufen.

Bevor Apple das Problem nicht in macOS behebt, sollten Entwickler ihren Code zur Verifikation genau überprüfen – und den von Apple vorgegebenen Beispielcode anpassen. Dies geht mit einem schlichten if-Statement auf Codezeile 32, wie Liscio erklärt.

Er selbst würde es allerdings bevorzugen, wenn der komplette Code auf das umgestellt wird, was Apple selbst in seinern Apps zu verwenden scheint. Dabei wird etwa die Mac-Adresse über DirectoryService bezogen.

(bsc)