2013-10-23 64 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的东西都替换为对此类的新调用,并且工作得很好。