如何使用cocos2d-x检测正在运行的IOS版本?
当我使用cocos2d时,我使用下面的代码,但我不想去obj-c ++。
#define SYSTEM_VERSION_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
#define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)
也许可以将UIDevice与cocos2d-x一起使用,我不知道。
答案 0 :(得分:1)
在appcontroller.mm类中尝试你的代码。它会起作用。
已经cocos2d-x正在检查这样的版本以设置viewcontroller
// Set RootViewController to window
if ( [[UIDevice currentDevice].systemVersion floatValue] < 6.0)
{
// warning: addSubView doesn't work on iOS6
[window addSubview: viewController.view];
}
else
{
// use this method on ios6
[window setRootViewController:viewController];
}
答案 1 :(得分:1)
我在cocos2d-x 3.4中实现的方法是在CCApplication-ios.mm中添加以下方法
float Application::getSystemVersion() {
return [[UIDevice currentDevice].systemVersion floatValue];
}
将此添加到CCApplication-ios.h
/** Get iOS version */
static float getSystemVersion();
使用
在任何地方调用它float systemVersion = Application::getSystemVersion();