2013-10-23 90 views
4

我實際上並未在我的應用程序中使用加速計,但此警告是我在構建過程中獲得的唯一一個警告。我想糾正或消除它。此警告指示我轉到CCLayer.mcocos2d原始文件。有4條關於UIAccelerometer棄用的警告。cocos2d CCLayer.m UIAccelerometer已棄用警告

(LINES 91 & 93是警告開始的地方)! UIAccelerometer在安裝iOS 5.0棄用 - UIAccelerometer已取代了CoreMotion框架

85:-(void) setIsAccelerometerEnabled:(BOOL)enabled 
    86:{ 
    87: if(enabled != isAccelerometerEnabled_) { 
    88:  isAccelerometerEnabled_ = enabled; 
    89:  if(isRunning_) { 
    90:   if(enabled) 
    91:    [[UIAccelerometer sharedAccelerometer] setDelegate:self]; 
    92:   else 
    93:    [[UIAccelerometer sharedAccelerometer] setDelegate:nil]; 
    94:  } 
    95: } 
    96:} 

當我深入挖掘警告,它帶給我更深入UIAccelerometer.h的UIKit

有別人有這個問題?如何處理它?我應該忽略它嗎?任何建議將不勝感激。謝謝,賈斯汀

回答

5

的cocos2d-iphone的2.1版尚未更新爲與iOS 7

完全兼容至於加速度計而言,你可以放心地註釋掉所有引用/ UIAccelerometer的用途。如果您的應用需要使用加速計,請使用CMMotionManager

或者,您也可以使用Kobold2D,其github version包含對cocos2d-iphone的必要修復。

+0

Stefen,2.1安裝程序是否爲iOS7修復了cocos2d?我只是想區分你的看法和我目前的看法......爲了完整起見:)。 – YvesLeBorg

+1

不,我沒有更新安裝程序 – LearnCocos2D

+0

評論所有參考都做了這份工作!我希望與Kobold2D合作的下一個項目。 Kobold2D會在開發過程中替換cocos2d嗎? Kobold2D有模板?我在學習過程中喜歡並使用'瞭解cocos2d遊戲開發'。 :) –

0

我個人不是Kobold2d「解決」問題的最大粉絲。他們用禁用警告的雜注包裝代碼。就個人而言,我寧願提供最好用CoreMotion類替換棄用的代碼。

保持單體類的可用性;使用這個答案:How do I initialize CMMotionManager globaly to be used by different classes? 然後在第32行的CCLayer.h中導入MotionManagerSingleton.h 接下來在CCLayer.m中,將所有看起來像UIAccelerometer的東西都替換爲對此類的新調用,並且工作得很好。