IOS SDK Snabbtips Aktiverar AirPlay för iOS 4.3 Apps

En av de mest imponerande funktionerna som släpptes med iOS 4.3 är officiellt SDK-stöd för AirPlay-integration. Med bara några rader av kod kan alla iOS-program nu strömma direkt till en AppleTV! AirPlay kommer också att fungera med andra stödda Apple-enheter, som AirPort Express. Läs vidare om hur du integrerar AirPlay i dina appar!

I en tidigare handledning demonstrerade jag hur man spelar video på iOS4 med MediaPlayer Framework. Denna handledning kommer att förlänga Big Buck Bunny iOS app skapad i den handledningen genom att införliva den nya AirPlay-funktionaliteten som erbjuds i SDK 4.3.


Steg 1: Aktivera Airplay

Aktiverar AirPlay på någon MPMoviePlayerController objektet är enkelt:

 [moviePlayerController setAllowsAirPlay: YES];

Ställa in allowsAirPlay egenskap till JA kommer att orsaka att en ytterligare ikon visas tillsammans med filmspelarens kontroller som initierar uppspelning av AirPlay. Tyvärr får utvecklare inte direkt kontroll över den här funktionen, och måste bero på att den här kontrollen fungerar som standard.

Efter att ha aktiverat AirPlay, bör kontrollerna för Big Buck Bunny-videospelaren se ut så här:

När du börjar strömma till en AirPlay-enhet visas skärmen Big Buck Bunny automatiskt ett meddelande som meddelar användaren:

Självklart kan du också ha ställt in allowsAirPlay värde via punktnotering:

 moviePlayerController.allowsAirPlay = YES;

Steg 2: Gör AirPlay Bakåt Kompatibel

Kör koden från steg 1 på äldre versioner av iOS som inte stöder allowsAirPlay egendom kommer att resultera i ett körtids undantag som kommer att krascha din app. För att bara erbjuda AirPlay till de enheter som stöder det måste vi ställa en villkorlig inställning som ska kontrollera om MPMoviePlayerController objektet stöder allowsAirPlay alternativ.

För att göra så uppdatera koden för att använda respondsToSelector: metod:

 om ([moviePlayerController respondsToSelector: @selector (setAllowsAirPlay :)]) [moviePlayerController setAllowsAirPlay: YES]; 

Biten ovan kommer att aktivera AirPlay när den stöds och helt enkelt hoppa över kodblocket på enheter som inte stöds.


Ytterligare överväganden

Det finns några saker att tänka på när du implementerar AirPlay i dina projekt:

1. AirPlay stöds inte på äldre enheter.

iPhone 3G-användare förtvivlan: ingen AirPlay för dig. Apple har vana att göra nya SDK- och iOS-funktioner endast tillgängliga på de senaste enheterna, och detta är sant med AirPlay-tillägget till SDK 4.3.

Stödproblemen är inte bara begränsade till äldre iPhone-enheter. Äldre versioner av AppleTV rycks också till att inte stödja de nya AirPlay-funktionerna.

2. Användare måste uppdatera AppleTV och iOS-programvaran

När du startar en AirPlay-aktiverad app, kom ihåg att dina användare måste ha både en ny iOS-version på enheten och en uppdaterad version av AppleTV-programvaran. Din applikation kan fungera perfekt, men en äldre OS-version som körs på en Apple TV kan fortfarande stjäla användarens glädje.

3. Användare måste dela nätverk med AirPlay-enheter

För att iOS ska kunna hitta andra Apple AirPlay-aktiverade enheter måste du ansluta till samma WiFi-nätverk som AirPlay-enheterna är anslutna till. En Edge / 3G-anslutning utan en trådlös signal räcker inte!