2011-09-03 30 views
1

我在做什麼,我認爲是用於讀取設備的角度的標準方法:的iPad 1沒有收到議案更新,但iPad 2的確實

motionManager = [[CMMotionManager alloc] init]; 
if (!motionManager.deviceMotionAvailable) 
    return NO; 
[motionManager startDeviceMotionUpdates]; 

再後來:

CMDeviceMotion *deviceMotion = [motionManager deviceMotion]; 
if (deviceMotion) { 
    CMAttitude *attitude = deviceMotion.attitude; 
    if (attitude) { 
     // yay 
    } 
} 

此代碼在iPad 2上運行良好,但在iPad 1上運行良好。

這裏有什麼問題?

回答

4

iPad 1沒有陀螺儀。它是在2中引入的。這可能與它有關。 :)

+0

不相關,因爲iPad 1仍檢測到設備方向。 – ShoeFly

+2

@ShowFly:沒有bebraw是正確的。加速計沒有機會檢測到設備的方向,它只會告訴你重力的方向。設想一個方向盤就像旋轉一樣,它是一個設備方位變化,但根本不會改變重力矢量。因此,態度沒有意義。請參閱http://developer.apple.com/library/ios/#documentation/CoreMotion/Reference/CMAttitude_Class/Reference/Reference.html – Kay

相關問題