iOS-SDK-Schnelltipp Aktivieren von AirPlay für iOS 4.3-Apps

Eine der beeindruckendsten Funktionen von iOS 4.3 ist die offizielle Unterstützung des SDK für die AirPlay-Integration. Mit nur wenigen Codezeilen kann jede iOS-Anwendung jetzt Video direkt auf ein AppleTV streamen! AirPlay funktioniert auch mit anderen unterstützten Apple-Geräten wie AirPort Express. Lesen Sie weiter, um zu erfahren, wie Sie AirPlay in Ihre Apps integrieren!

In einem vorherigen Tutorial habe ich gezeigt, wie Sie Videos mit iOS 4 mit dem MediaPlayer Framework abspielen. In diesem Lernprogramm wird die in diesem Lernprogramm erstellte Big Buck Bunny-iOS-App um die neue AirPlay-Funktion des SDK 4.3 erweitert.


Schritt 1: Aktivieren Sie Airplay

Aktivieren von AirPlay für beliebige MPMoviePlayerController Objekt ist einfach:

 [moviePlayerController setAllowsAirPlay: YES];

Einstellen der allowAirPlay Die Eigenschaft YES bewirkt, dass neben den Steuerelementen des Movie Players ein zusätzliches Symbol angezeigt wird, das die AirPlay-Wiedergabe startet. Leider haben Entwickler keine direkte Kontrolle über diese Funktion und müssen von der Standardfunktion dieses Steuerelements abhängig sein.

Nach der Aktivierung von AirPlay sollten die Steuerelemente des Big Buck Bunny-Videoplayers folgendermaßen aussehen:

Nachdem Sie mit dem Streaming auf ein AirPlay-Gerät begonnen haben, zeigt der Big Buck Bunny-Bildschirm automatisch eine Meldung an, die den Benutzer informiert:

Natürlich hättest du auch das einstellen können allowAirPlay Wert über Punktnotation:

 moviePlayerController.allowsAirPlay = YES;

Schritt 2: AirPlay abwärtskompatibel machen

Ausführen der Codezeile aus Schritt 1 auf älteren Versionen von iOS, die das nicht unterstützen allowAirPlay Diese Eigenschaft führt zu einer Laufzeitausnahme, die Ihre App zum Absturz bringt. Um AirPlay nur für Geräte anbieten zu können, die dies unterstützen, müssen wir die Anweisung mit einer Bedingung versehen, in der geprüft wird, ob die MPMoviePlayerController Objekt unterstützt die allowAirPlay Möglichkeit.

Aktualisieren Sie dazu den Code für die Verwendung von antwortetToSelector: Methode:

 if ([moviePlayerController antwortetToSelector: @selector (setAllowsAirPlay :)]) [moviePlayerController setAllowsAirPlay: YES]; 

Das obige Snippet aktiviert AirPlay, wenn es unterstützt wird, und überspringt einfach den Codeblock auf nicht unterstützten Geräten.


Weitere Überlegungen

Bei der Implementierung von AirPlay in Ihren Projekten sollten Sie ein paar Dinge beachten:

1. AirPlay wird auf älteren Geräten nicht unterstützt.

iPhone 3G-Nutzer verzweifeln: Kein AirPlay für Sie. Apple macht es sich zur Gewohnheit, neue SDK- und iOS-Funktionen nur auf den neuesten Geräten verfügbar zu machen. Dies gilt auch für die AirPlay-Erweiterung von SDK 4.3.

Die Support-Probleme sind nicht nur auf ältere iPhone-Geräte beschränkt. In älteren Versionen des AppleTV wird ebenfalls behauptet, dass die neuen AirPlay-Funktionen nicht unterstützt werden.

2. Benutzer müssen AppleTV- und iOS-Software aktualisieren

Beachten Sie beim Starten einer AirPlay-fähigen App, dass Ihre Benutzer sowohl eine aktuelle iOS-Version auf ihrem Gerät als auch eine aktualisierte Version der AppleTV-Software benötigen. Ihre Anwendung funktioniert zwar einwandfrei, aber eine ältere Betriebssystemversion, die auf einem Apple TV ausgeführt wird, kann die Freude Ihres Benutzers immer noch stehlen.

3. Benutzer müssen das Netzwerk für AirPlay-Geräte freigeben

Damit iOS andere Apple AirPlay-fähige Geräte finden kann, müssen Sie sich mit demselben WLAN-Netzwerk verbinden, mit dem die AirPlay-Geräte verbunden sind. Eine Edge / 3G-Verbindung ohne Funksignal reicht nicht aus!