6
我正試圖檢測用戶在另一個物體上碰撞他們的iPhone的時間與他們剛抖動手機時的情況。我似乎無法像我想要的那樣完美地工作,因爲它要麼登記過多的顛簸,要麼沒有顛簸,要麼認爲搖動是一個顛簸。CoreMotion在iPhone上碰撞與抖動
有人可以看看我的代碼,並提供建議嗎?我需要確保一個或另一個發生。
// SHAKING
- (void) motionEnded: (UIEventSubtype) motion withEvent:(UIEvent *)event
{
if (motion == UIEventSubtypeMotionShake)
{
[self setNumberOfShakes: [self numberOfShakes] + 1];
[self reloadAllTapShakeData];
}
}
// TAPPING & BUMPING
- (void) setupAccelerometerMonitoring
{
[self setManager: [[CMMotionManager alloc] init]];
if ([[self manager] isDeviceMotionAvailable])
{
[[self manager] setDeviceMotionUpdateInterval: 0.02];
[[self manager] startDeviceMotionUpdatesToQueue: [NSOperationQueue mainQueue] withHandler: ^(CMDeviceMotion * _Nullable motion, NSError * _Nullable error)
{
//NSLog(@"x = %f | y = %f | z = %f", [motion userAcceleration].x, [motion userAcceleration].y, [motion userAcceleration].z);
if (([motion userAcceleration].x > .50 && [motion userAcceleration].x < 1)
|| ([motion userAcceleration].y > .70 && [motion userAcceleration].x < 1)
|| ([motion userAcceleration].z > .80 && [motion userAcceleration].z < 1))
{
NSLog(@"TAPPED ON ANOTHER OBJECT");
}
}];
}
}
他們的API不起作用了嗎?沒有API密鑰,這仍然有效嗎? –
試過了。它不再兼容。 –