Accelerometer didAccelerate委托方法没有在iOS sdk 6.0中调用

时间:2013-02-20 07:36:37

标签: ios objective-c core-motion uiresponder uiaccelerometer

我正在开发应用程序来获取阈值用户如何强力震撼iOS设备。我使用的是iOS sdk 6.0。

我尝试了UIResponder委托方法motionEnded ::当设备被动摇时它会被调用,但是没有提供足够的数据来说明某个人有多么震撼设备。 我搜索得足够多,找到了一个使用UIAccelerometer didAccelerate回调方法的解决方案。但它没有被召集。这是sdk问题吗?由于此方法在iOS 5中已弃用。

我也尝试过coreMotion框架,但是它给陀螺仪数据显示旋转了多少设备,但没有动摇多少设备。 这样做的最佳方式是什么? 我跟着How do I detect when someone shakes an iPhone?但没有找到有用的答案。

2 个答案:

答案 0 :(得分:1)

我只是想通了。即使您执行摇动手势或旋转模拟器,iOS模拟器也不会响应UIAccelerometer操作。不起作用。但是如果你在设备上运行,你会发现同样的代码运行良好:)

答案 1 :(得分:0)

试试这个,在你的视图中加载就行了:

UIAccelerometer *accel = [UIAccelerometer sharedAccelerometer];
accel.delegate = self;

这使它对我有用。根本不需要使用变量,但它与设置共享加速度计委托给自己有关