Apple will App-Entwickler auf 5G-Nutzung vorbereiten
Als das erste iPhone, damals noch mit 2G-Edge, vorgestellt wurde, galt: Mobilfunk-Datentransfers sind extrem langsam und mit hoher Latenz verbunden. Mit 3G und LTE wurden Mobilfunkverbindungen zusehends schneller und auch unterwegs sind aufgrund gesunkener Latenzen beispielsweise Multiplayer-Spiele möglich. Die im Herbst vorgestellten iPhone-12-Modelle unterstützen alle den 5G-Mobilfunkstandard – wenngleich auch mit regionalen
Einschränkungen.
Bereits seit einigen Jahren bietet Apple in den Einstellungen die Funktion "WLAN-Unterstützung" an. Besteht eine schlechte WLAN-Verbindung, verwendet das iPhone automatisch das Mobilfunk-Netzwerk, um Daten aus dem Internet zu laden. Mit iOS 15 verändert Apple das Verhalten in bestimmten Fällen: Besteht eine funktionierende WLAN-Verbindung, ist aber ein sehr schnelles 5G-Mobilfunknetz in Reichweite, verwendet Apple die Mobilfunkverbindung, wenn die Datentransferraten höher und die Latenz geringer ist.
Entwickler sollen TestenFrüher galt bei der App-Entwicklung: Datenintensive oder latenzsensitive Funktionen dem Kunden nur über WLAN zur Verfügung stellen. Daher prüften Entwickler häufig, ob eine WLAN-Verbindung besteht und schalteten daraufhin App-Funktionen frei. Außerdem steuerten beispielsweise Streaming-Dienste die Qualität der Inhalte je nach Verbindungstyp: Ist eine WLAN-Verbindung vorhanden, erhält der Kunde Videos in höherer Qualität.
Mit 5G sollen Entwickler dies ändern – und Apple bietet nun ein Profil zum Download an, welches simuliert, dass eine mittelprächtige WLAN-Verbindung, aber eine hochqualitative 5G-Verbindung vorhanden ist. Mit diesem
Profil, welches nur von eingetragenen Entwicklern heruntergeladen werden kann, lässt sich dieses
neue Verhalten testen. Voraussetzung für die Nutzung des Profils ist iOS 15 Beta 4 oder Beta 5.
Teuer oder Eingeschränkt?Schon mit iOS 13 führte Apple neue Programmierschnittstellen ein, über welche Entwickler erkennen können, ob das Gerät im Datenspar-Modus betrieben wird oder ob es sich um einen limitierten und gegebenenfalls teuren Mobilfunkvertrag handelt. Diese Metriken finden sich in der Klasse "URLSessionTaskTransactionMetrics" wieder und können von Entwickler ausgelesen werden, um zu entscheiden, welche Verbindung die sinnvollste für eine bestimmte Aufgabe ist.