我有一个使用加速度计的应用程序。有时,应用程序将在没有加速计数据更新的情况下启动。重新启动应用程序,有时问题仍然存在,有时它不会。甚至更奇怪,有时我可以尝试10次,一切都按预期工作。这是一个错误,或者可能是我遗漏的东西。调试时,加速度计未更新时,永远不会调用此代码:
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration;
有什么想法吗?
答案 0 :(得分:7)
我终于找到了解决方法。这是一个已知的错误。所以我找到的工作是启动一个线程并让这个线程检查加速度计委托是否已被调用,如果有,则退出线程,如果没有,再次设置委托,并重新测试,直到加速度计委托被叫。我对它进行了彻底的测试,它完美无缺。我希望在下次更新iPhone OS时能够解决这个问题。
答案 1 :(得分:1)
我有同样的问题。使用CrashLanding示例制作的应用程序可能会发生1/20次。在我用我的应用程序注意到它后,我抓住了一个新版本的Crashlanding,安装它,最后让它开始加速度计失败。
我不知道如何修复它。老实说,我讨厌加速度计...至少对于控制游戏: - \
此外,当我启动“加速度计”样本项目时,加速度计偶尔也会失败。
答案 2 :(得分:1)
正如其他人所说,这是一个已知的错误;我已经记录了Apple的错误(Bug Reporter问题ID 6093028),也许其他人也这样做了。据我所知,所有使用UIAccelerometer的应用程序(包括Apple的示例应用程序)都会遇到这个问题,尽管出现的频率各不相同。
答案 3 :(得分:1)
FWIW,我的应用程序被广泛使用,它使用加速度计,我从来没有遇到过这个问题。
我的用例可能与您的用例不同:我只在用户请求后启用它,在应用程序启动后。