2012-06-20 3 views
0

정말 이상한 문제가 있습니다. Cocos2D 라이브러리에 빌드 된 AR 응용 프로그램이 있습니다. 최근에 xcode를 처음으로 실행하면 자이로가 작동하지 않습니다. 즉, 장치가 어떤 방향을 향하고 있더라도 yaw와 roll은 0으로 측정됩니다. 나는 지난 몇 일 나는 더 이상 스프라이트와 관련된 무언가를 사용하거나 변경하고 물건의 일부 라인을 주석 없다하여이 문제를 해결했습니다자이로가 Cocos2D 환경에서 작동하지 않습니다.

// 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 또는 자이로에서 더 많은 경험을 가진 사람이 무엇 때문에이 문제를 일으킬 수 있는지 알고 있습니까?

감사합니다.

UPDATE는

I 라인

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

을 주석 처리하고 응용 프로그램을 실행하고 자이로 다시했다. 이상한 점은 내가 같은 줄의 주석을 풀고 앱을 다시 실행했을 때 자이로가 여전히 작동한다는 것입니다. 뭐라 구요?

답변

0

그냥 직감이 ... motionManager 보유 속성입니까?

하지 않을 경우 MotionManager는이 오토 릴리즈 될 것입니다 때문에 :

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

네이 유지하지만 클래스 객체가 아닌 (애플의 공원 샘플 프로젝트와 같은) 어쨌든 속성에 그 변경 끝났다되고 있었다. 이것은 나를 미치게합니다. xcode를 종료 한 후 다시 발생했습니다. –

관련 문제