Domanda

Ho un'applicazione che utilizza l'accelerometro. A volte, l'applicazione verrà avviata senza l'aggiornamento dei dati dell'accelerometro. Riavvio dell'app, a volte il problema persiste, a volte no. E ancora più strano, a volte posso provare 10 volte e tutto funziona come previsto. È un bug o forse mi manca qualcosa. Debug, questo codice non viene mai chiamato quando l'accelerometro non viene aggiornato:

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration;

Qualche idea?

È stato utile?

Soluzione

Alla fine ho trovato un lavoro. Questo è un bug conosciuto. Quindi il lavoro che ho trovato è quello di avviare un thread e fare in modo che questo thread controlli se il delegato dell'accelerometro è stato chiamato, in caso affermativo, quindi uscire dal thread, in caso contrario, impostare nuovamente il delegato e ripetere il test, fino a quando il delegato dell'accelerometro viene chiamato. L'ho provato a fondo e funziona perfettamente. Spero che questo venga risolto al prossimo aggiornamento del sistema operativo iPhone.

Altri suggerimenti

Ho questo stesso problema. Succede forse 1/20 volte con un'app che ho fatto dall'esempio di CrashLanding. Dopo averlo notato con la mia app, ho acquisito una nuova versione di Crashlanding, l'ho installata e finalmente l'ho avviata con l'acceleratore guasto.

Non so come ripararlo. Onestamente odio l'accelerometro ... almeno per il controllo dei giochi: - \

Inoltre, l'accelerometro occasionalmente ha fallito quando avvio l'accelerometro " progetto di esempio.

Come altri hanno già detto, questo è un bug noto; Ho registrato il bug con Apple (ID problema bug reporter 6093028), forse anche altri lo hanno fatto. Per quanto ne so, tutte le app che utilizzano UIAccelerometer (comprese le app di esempio di Apple) soffrono di questo problema, sebbene la frequenza dell'occorrenza vari.

FWIW, la mia app è ampiamente utilizzata e utilizza l'accelerometro e non ho mai avuto questo problema.

Il mio caso d'uso potrebbe essere diverso dal tuo: lo abilito solo su richiesta dell'utente, ben dopo l'avvio dell'applicazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top