2008-10-30 2 views
8

가속도계를 사용하는 응용 프로그램이 있습니다. 경우에 따라 가속도계 데이터를 업데이트하지 않고 응용 프로그램이 시작됩니다. 앱을 다시 시작하면 가끔 문제가 지속되는 경우가 있습니다. 그리고 심지어 더 이상한, 때때로 나는 10 번 시도 할 수 있으며 모든 것이 예상대로 작동합니다. 이것은 버그, 또는 내가 누락 된 것일 수 있습니다. 디버깅을하면 가속도계가 업데이트되지 않을 때이 코드가 호출되지 않습니다.가끔 가속도계 위임 메서드가 호출되지 않습니다.

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

아이디어가 있으십니까?

답변

7

마침내 해결 방법을 발견했습니다. 이것은 알려진 버그입니다. 그래서 내가 찾은 해결 방법은 스레드를 시작하고 가속도계 위임자가 호출되었는지 확인한 후이 스레드가 있는지 확인한 다음 스레드가 종료되면 위임을 다시 설정하고 가속도계가 위임 될 때까지 다시 테스트하는 것입니다. 호출됩니다. 나는이를 철저히 테스트했으며 완벽하게 작동합니다. 이 문제가 iPhone OS의 다음 업데이트에서 해결되기를 바랍니다.

1

동일한 문제가 있습니다. 아마도 CrashLanding 샘플에서 만든 앱을 사용하면 1/20 정도의 시간이 걸릴 것입니다. 내가 애플 리케이션으로 알아 차린 후에 나는 크래시 랜딩 (Crashlanding)의 새로운 버전을 붙잡아 설치하고 가속도계가 실패로 시작하도록했다.

나는 그것을 고치는 법을 모른다. 솔직히 내가 가속도계를 싫어한다. 적어도 게임을 제어하기 위해서는 - \

또한, "가속도계"샘플 프로젝트를 시작할 때 가속도계가 실패하는 경우가있다.

1

다른 사람들도 언급했듯이 알려진 버그입니다. 나는 버그 리포터 (bug reporter) 문제 ID 6093028과 함께 버그를 기록했다. 아마도 다른 사람들도 그렇게했을 것이다. 내가 아는 한 UIAccelerometer (Apple의 샘플 앱 포함)를 사용하는 모든 앱은 발생 빈도가 다양하지만이 문제로 고통 받고 있습니다.

1

FWIW, 내 응용 프로그램은 널리 사용되고 있으며 가속도계를 사용하며이 문제가 발생하지 않았습니다.

사용 사례가 귀하의 것과 다를 수 있습니다. 응용 프로그램을 시작한 후에 만 ​​사용자 요청에 따라 사용하도록 설정합니다.

관련 문제