Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 陀螺仪在Cocos2D环境下不工作_Iphone_Cocos2d Iphone_Gyroscope - Fatal编程技术网

Iphone 陀螺仪在Cocos2D环境下不工作

Iphone 陀螺仪在Cocos2D环境下不工作,iphone,cocos2d-iphone,gyroscope,Iphone,Cocos2d Iphone,Gyroscope,我有一个很奇怪的问题。我有一个基于cocos2D库的AR应用程序。最近,当我第一次启动当天的xcode时,陀螺仪不工作,即偏航和横摇被测量为0,无论设备如何定向。它应该根据我在代码中执行的检查工作: // Initialize Gyro self.motionManager = [[[CMMotionManager alloc] init] autorelease]; motionManager.deviceMotionUpdateInterval = (1.0/60.0

我有一个很奇怪的问题。我有一个基于cocos2D库的AR应用程序。最近,当我第一次启动当天的xcode时,陀螺仪不工作,即偏航和横摇被测量为0,无论设备如何定向。它应该根据我在代码中执行的检查工作:

    // Initialize Gyro
    self.motionManager = [[[CMMotionManager alloc] init] autorelease];
    motionManager.deviceMotionUpdateInterval = (1.0/60.0);
    if (motionManager.isDeviceMotionAvailable) {
        NSLog(@"motion available");
        [motionManager startDeviceMotionUpdatesUsingReferenceFrame:CMAttitudeReferenceFrameXTrueNorthZVertical];
    }
在过去的几天里,我通过注释掉一些我不再使用的东西,或者修改屏幕上与精灵动画相关的东西,解决了这个问题。奇怪的是,在接下来的编码过程中,我会让它正常工作,关闭xcode,第二天当我再次打开xcode和我的项目时,陀螺仪又一次坏了

有更多cocos2d或陀螺仪经验的人知道这可能是什么原因吗

谢谢

更新

我把这句话注释掉了

[mySprite runAction:[CCMoveTo actionWithDuration:refreshRate position:ccp(newX, newY)]];

运行应用程序,陀螺仪再次工作。但奇怪的是,当我取消对同一行的注释并再次运行应用程序时,陀螺仪仍然工作。什么原因?

只是一种预感,
motionManager
是一种保留财产吗

因为如果不是,motionManager将自动释放:

self.motionManager = [[[CMMotionManager alloc] init] autorelease];

是的,它被保留了下来,但我最终还是把它改成了一个类对象,而不是一个属性(比如苹果的公园示例项目)。这让我快发疯了。在退出xcode之后,它又发生了。