2008-10-30 31 views
8

tengo una aplicación que utiliza el acelerómetro. A veces, la aplicación se iniciará sin la actualización de los datos del acelerómetro. Reiniciando la aplicación, a veces el problema persiste, otras veces no. Y aún más raro, a veces puedo intentar 10 veces y todo funciona como se esperaba. ¿Es esto un error, o tal vez algo que me falta? Depuración, este código nunca se llama cuando el acelerómetro no se actualiza:método acelerómetro delegado no se llama

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

¿Alguna idea?

Respuesta

7

Finalmente encontré un trabajo alrededor. Este es un error conocido. Así que el trabajo que encontré es iniciar un hilo y hacer que este hilo verifique si se ha llamado al delegado del acelerómetro, si lo ha hecho, luego salga del hilo, si no, configure el delegado nuevamente y vuelva a probar, hasta que el acelerómetro delegue se llama. Probé esto completamente y funciona sin problemas. Espero que esto se resuelva en la próxima actualización del sistema operativo del iPhone.

1

que tienen este mismo problema. Sucede tal vez 1/20 veces con una aplicación que hice de la muestra CrashLanding. Después de que lo noté con mi aplicación, tomé una nueva versión de Crashlanding, la instalé y finalmente comencé con el fallo del acelerómetro.

no sé cómo solucionarlo. Sinceramente me gusta el acelerómetro ... al menos para el control de juegos: - \

Además, el acelerómetro ha fallado en ocasiones cuando inicio el proyecto de ejemplo "acelerómetro".

1

Como han mencionado otros, este es un error conocido; He registrado el error con Apple (problema de Bug Reporter ID 6093028), quizás otros lo hayan hecho también. Hasta donde yo sé, todas las aplicaciones que hacen uso de UIAccelerometer (incluidas las aplicaciones de muestra de Apple) sufren de este problema, aunque la frecuencia de ocurrencia varía.

1

FWIW, mi aplicación es muy utilizada y utiliza el acelerómetro, y nunca he tenido este problema.

Mi caso de uso puede ser diferente de la suya: sólo tiene que activar en la petición del usuario, bien después de que se inicie la aplicación.

Cuestiones relacionadas