基本上,我希望应用程序能够检测到手机上的g-force在一段时间内保持在一个小的限制范围内(建议将手机放在桌子上或其他东西上)以及它的呼叫和实例或让应用程序做一些事情.
任何帮助将不胜感激.
解决方法 它与 Simple iPhone motion detect中描述的问题类似.CMM Pollard在他的评论中所述的Apple文档中描述了cmmotionmanager的基本设置.我特别推荐 Handling Processed Device Motion Data部分.你需要的是CMDeviceMotion.userAcceleration,它包含没有重力的纯加速度.
cmmotionmanager *motionManager = [[cmmotionmanager alloc] init];// UPDATE: set interval to 0.02 secmotionManager.deviceMotionUpdateInterval = 1.0 / 50.0;[motionManager startDeviceMotionUpdatesToQueue:[NSOperationQueue mainQueue] withHandler:^(CMDeviceMotion *deviceMotion,NSError *error) { CMacceleration useracceleration = deviceMotion.useracceleration; double totalacceleration = sqrt(useracceleration.x * useracceleration.x + useracceleration.y * useracceleration.y + useracceleration.z * useracceleration.z); // UPDATE: print deBUG information NSLog (@"total=%f x=%f y=%f z=%f",totalacceleration,useracceleration.x,useracceleration.y,useracceleration.z); // if(totalacceleration < SOME_liMIT) ...
然后像codeplasma描述的那样进行in his answer above.
另请注意,如果由于外部加速度在地下,公共汽车等中使用,解决方案可能不准确.
总结以上是内存溢出为你收集整理的ios – 如何检测手机何时放下全部内容,希望文章能够帮你解决ios – 如何检测手机何时放下所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)