2013-04-25 12 views
11

Il mio servizio di prototipazione crea applicazioni web iOS standalone e non supportate. A volte bloccano il dispositivo mentre sono in uso.Come posso evitare che le app Web standalone di iOS bloccino il dispositivo?

Il pulsante home non funziona più, l'app continua a funzionare. Quanto segue è mostrato ripetutamente nella console del dispositivo (recuperato collegandolo a xcode).

Apr 25 14:34:57 SpringBoard[67] <Warning>: Unable to determine intended instance of com.apple.webapp. Resulting app will be undefined.

+0

Hai salvato l'app nella schermata iniziale? –

+0

Sì, è installato sulla schermata iniziale. –

+0

Avendo lo stesso identico problema, all'improvviso l'app blocca il dispositivo, ma l'app continua a funzionare. Pulsante Home ecc. Non reattivo. Visualizzazione dello stesso messaggio di errore durante il collegamento a Xcode. Mi piacerebbe sapere se trovi una soluzione. –

risposta

4

Dal momento che la causa di questo è ancora sconosciuta, ho pensato di contribuire col dirvi che sto ricevendo lo stesso problema con un app HTML5 su iOS 6 con iPhone 4s. Nel mio caso l'app non si blocca (funziona ancora) ma il pulsante home smette di funzionare (esattamente come te e Jens). Il tempismo è casuale e non sembra essere legato a nulla che possa fare per replicarlo in modo coerente. Inoltre, quando accade, window.orientation riporta sempre erroneamente la modalità ritratto, anche quando il dispositivo è fisicamente in orizzontale (su iPhone).

UPDATE 2013/12/15
1) Detecing questo bug: sono stato in grado di intrappolare quando si verifica l'errore su iPhone. La mia app funziona in modalità orizzontale, e normalmente possono spostarsi in orizzontale in qualsiasi momento. Ma per intrappolare questo bug, ora rileva se l'app è in esecuzione su iPhone e genera una pagina di roadblock che richiede all'utente di ruotare il dispositivo in orizzontale per iniziare. Durante questo tempo l'app cerca di vedere se il giroscopio indica che il dispositivo è correttamente in modalità orizzontale, ma windows.orientation (erroneamente) dice che è in verticale. Ciò accade solo quando viene attivato il bug. Quindi, allora posso mostrare un bel messaggio che dice all'utente come recuperare. Nota: questo metodo funziona solo su iPhone ... Non ho ancora trovato una soluzione per rilevarlo sull'iPad.

2) Evitare questo bug: ho trovato un modo per evitare che il problema si verifichi (con un piccolo lavoro extra). Ho notato che dopo aver ripulito il modo in cui funzionano i miei gestori di eventi, il problema si verifica solo sui carichi successivi dell'app ... non proprio la prima volta che lo carico. E ho anche notato che dopo aver chiuso l'app, è ancora in esecuzione nella "task list" di iOS (non so quale sia il termine iOS corretto per questo).

Quindi premere due volte il pulsante Home per visualizzare l'elenco delle attività e far scorrere il dito verso l'esterno (per chiuderlo veramente). Non ho mai avuto il problema si ripresentano dopo aver seguito questo. Nota aggiuntiva: fare semplicemente un riavvio del dispositivo non è sufficiente (e sembra ancora causare blocchi). E dopo un riavvio, ho notato che sarà nella lista delle attività due volte (che sembra sbagliato e forse un indizio su cosa sta andando male internamente). Ad ogni modo, se si riavvia, prima di avviare l'app, assicurarsi di andare all'elenco delle attività e rimuovere prima tutte le istanze dell'app.

+0

Sto riscontrando lo stesso problema anche con il mio 4S e iOS 6. Speriamo che questo sia qualcosa che risolveranno per iOS 7. –

+0

confermato che ciò accade ancora su iOS 7 :( –

+0

Su iOS7, ho trovato un modo per replicarlo ogni volta (almeno per la mia app): 1) ruotare il telefono in orizzontale 2) posare il telefono piatto !! 3) Avvia l'app Oltre a bloccare il pulsante Home, ho scoperto che anche gli ascoltatori di eventi smettevano di funzionare. Inoltre, la barra di stato di iOS rimane bloccata e non si sposta nella parte superiore dello schermo quando si passa alla modalità orizzontale. Tuttavia, quando ho commentato tutti gli ascoltatori di eventi per orientamento, ridimensionamento, caricamento, touchmove, l'affidabilità è migliorata notevolmente. Sfortunatamente rimane ancora, ma solo 1/5 di tempo come prima. Non una correzione, ma forse un indizio. –

1

Il team SoundJS ha rintracciato questo problema fino alla web app di entrare in modalità a schermo intero con:

<meta name="apple-mobile-web-app-capable" content="yes" />

Un bug è stato segnalato ad Apple (riferimento # 15.133.492).

Attualmente non ci sono problemi, tranne che non si entra in modalità schermo intero.

+0

Sì, questo è ciò che intendevo per "web app standalone". Fammi sapere se tu e il tuo team capite qualcosa! –

+0

@OJay (love SoundsJS BTW!). Su iOS7, ho trovato un modo per replicare ogni volta (almeno per la mia app): 1) ruota il telefono in orizzontale. 2) stendere il telefono piatto !! 3) avviare l'app. Oltre a bloccare il pulsante home, ho scoperto che anche gli ascoltatori di eventi smettevano di funzionare. Inoltre, la barra di stato di iOS si blocca e non si sposta nella parte superiore dello schermo quando si passa alla modalità orizzontale. Tuttavia, quando ho commentato tutti i miei ascoltatori di eventi, l'affidabilità è migliorata notevolmente! Sfortunatamente rimane ancora, ma solo 1/5 di tempo come prima. Non una correzione, ma forse un indizio. Spero davvero che Apple risponda al tuo errore. –

Problemi correlati