2013-04-26 17 views
7

NOTA: Si prega di esaminare la Edit Section, Questa sezione è solo uno scopo riferimento.Creazione di un altro dispositivo di output in applicazione iOS con contenuti diversi

Sono nuovo nell'architettura di sviluppo App IOS. Per favore, ho solo bisogno di chiarire che se è possibile fare due uscite, una è continuamente in esecuzione in uno sfondo che si collega ad altri dispositivi di output (HDTV, monitor, ecc.) Come mostrato in questo link here

Per esempio , Sto organizzando un seminario con il proiettore di connessione, eseguendo la mia presentazione come processo in background e allo stesso tempo posso manipolare le mie cose sullo schermo del laptop usando "EXTEND Mode".

Si prega di non sminuire la mia domanda, ho solo bisogno di sapere se "IOS Development Architecture" fornendo questo o meno.? Necessario:

1) Possibile fare con un altro schermo di output con processo in background (continuamente ogni volta che MyApp è attivo).

2) Uno schermo in primo piano nel mio iPad che è intrattabile di MyApp.


Edit: Aggiornamento alla mia domanda:

Per il problema di cui sopra,

ho ottenuto la soluzione qualcosa di interessante HERE e HERE.

Lo esaminerò, ma se qualcuno ha idea O risolto da questo problema, per favore suggeriscimi alcune informazioni utili.

Breve analisi Problema:

voglio solo mostrare alcuni contenuti diversi in un altro dispositivo di uscita che è collegato a iPad, quando la mia applicazione è in esecuzione.

risposta

8

Sì, questo è possibile utilizzando AirPlay.

Per impostazione predefinita, quando si collega uno schermo esterno all'iPad o all'iPhone, si ottiene un'immagine speculare della app sullo schermo esterno. Ma puoi accedere alla seconda schermata dall'applicazione iPad o iPhone e utilizzarla per altri contenuti. Puoi ottenere tutti gli "schermi" disponibili attraverso la classe UIScreen. Dalla documentazione per [UIScreen screens]:

L'array restituito comprende schermata principale più eventuali ulteriori schermi collegati al dispositivo. La schermata principale è sempre all'indice 0.

Non tutti i dispositivi supportano i display esterni. Attualmente, i display esterni sono supportati da dispositivi iPhone e iPod touch con display Retina e iPad.I dispositivi precedenti, come l'iPhone 3GS, non supportano i display esterni. Il collegamento a uno schermo esterno richiede un cavo appropriato tra il dispositivo e il display.

Per esempi su cosa è possibile fare, è possibile controllare Real Racing 2, che mostra una mappa sull'iPad e la gara effettiva sullo schermo esterno; oppure Tweetwall che utilizza anche questo approccio (divulgazione: ero responsabile in parte per aver creato Tweetwall).

EDIT: È possibile inizializzare lo schermo esterno come questo:

// Get second screen 
UIScreen *secondScreen = [[UIScreen screens] objectAtIndex:1]; 
secondScreen.currentMode = secondScreen.preferredMode; 

// Get the screen's bounds so that you can create a window of the correct size. 
CGRect screenBounds = CGRectMake(secondScreen.bounds.origin.x, 
           secondScreen.bounds.origin.y, 
           secondScreen.currentMode.size.width, 
           secondScreen.currentMode.size.height); 

UIWindow *secondWindow = [[UIWindow alloc] initWithFrame:screenBounds]; 
secondWindow.screen = secondScreen; 

// Setup external view controller 
YourExternalScreenViewController *extVC = [[YourExternalScreenViewController alloc] init]; 
// Set VC for second window 
secondWindow.rootViewController = extVC; 
// Show the window. 
secondWindow.hidden = NO; 

C'è un po 'di più noia, ma questo è il concetto.

EDIT 2: Ed ecco un link per Apple's Multiple Display Programming Guide for iOS

+0

Ciao, sai come animare alcuni elementi (es: UIlabel Text con animazione) nel Display esterno. Ho provato anche a usare il thread principale. ma senza fortuna. il risultato sta ottenendo, ma l'effetto dell'animazione no. –

3

È possibile utilizzare il server Airplay se si desidera eseguire il mirroring dell'output mobile sullo schermo.

+0

Non voglio visualizzazione duplicato. Per favore, comprendi la domanda ... Devo solo fare app. Devo saperlo, se possibile o no? –

+1

No, sulla base della mia esperienza fino ad ora non credo sia possibile. –

+0

Hmmm, grazie. –