2013-11-15 10 views
8

Sto provando a forzare la mia app a immettere automaticamente lo stato "Sospeso" a livello di codice, così posso eseguire il test sul ripristino del Core Bluetooth. Ho provato a chiamareSospendi a livello di programmazione un'applicazione iOS 7?

[[UIApplication sharedApplication] performSelector:@selector(suspend)]; 

ma questo solo lo invia in secondo piano. Sto sbagliando? C'è un modo migliore? O è impossibile?

vorrei ricordare a tutti esattamente che cosa significa avere un app essere sospeso, come c'è sempre confusione terminologica: Link to state diagram of iPhone apps Un'applicazione in background otterrà sospesi a tempo indeterminato se il sistema ha bisogno di memoria, ma core Il ripristino Bluetooth può rimandare temporaneamente l'app allo stato di background.

+0

Questo potrebbe essere di aiuto: [Automatizzazione del test dell'interfaccia utente] (https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/Utilizzo dello strumento di autenticazione/Utilizzo dello strumento di autenticazione.html) Vedere Test per il multitasking su il fondo. Non è fatto dal codice app stesso, ma piuttosto dallo script degli strumenti. Ma è solo per emulare la pressione del tasto home. –

+0

Non l'ho provato: potrebbe funzionare: http://stackoverflow.com/a/13525245/653513 –

+1

UIApplication * app = [UIApplication sharedApplication]; [app performSelector: @selector (suspend)]; –

risposta

6

Non so come farlo a livello di programmazione, ma quello che faccio è premere il tasto home, quindi lanciare una serie di app pesanti come Safari e giochi ad alta intensità di grafica. La pressione della memoria fa sì che il sistema interrompa la tua app abbastanza rapidamente. Il core Bluetooth dovrebbe quindi avviare il processo di ripristino e riavviare l'app quando rileva attività da una periferica a cui sei connesso/a cui è stato chiesto di connettersi.

+3

Haha, è una buona idea. Se non c'è modo di farlo a livello di programmazione, forse creerò un'app che usi espressamente la maggior quantità di memoria possibile. – Jegus

+0

Ho creato una bella applicazione da 500 MB, ma è ancora abbastanza inaffidabile. Dopo aver aperto tutte le app del mio telefono, incluso quello da 500 MB, sono riuscito a far sì che l'app che sto tentando di testare venga sospesa una sola volta. – Jegus

Problemi correlati