Я обновил xcode и ios sdk до последней версии (xcode 4.0 / ios sdk 4.3) и теперь получаю ошибки компилятора в проекте, который создавался ранее.
Это код:
- (void)layoutSubviews
{
int w = 320;
int h = 480;
float ver = [[[UIDevice currentDevice] systemVersion] floatValue];
// You can't detect screen resolutions in pre 3.2 devices, but they are all 320x480
if (ver >= 3.2f){
UIScreen* mainscr = [UIScreen mainScreen];
w = mainscr.currentMode.size.width;
h = mainscr.currentMode.size.height;
if( ver >= 4.0f ) {
float scaleFactor = mainscr.scale;
// this will scale the OpenGLView for retina screens
self.contentScaleFactor = scaleFactor;
CAEAGLLayer *eaglLayer = (CAEAGLLayer *)self.layer;
eaglLayer.contentsScale=scaleFactor; //new line
}
}
[context renderbufferStorage:GL_RENDERBUFFER_OES fromDrawable:(CAEAGLLayer *)self.layer];
setOpenGLSize(w,h);
[self drawView:nil];
}
И вот ошибки:
error: property 'scale' not found on object of type 'UIScreen *' [2]
error: property 'contentScaleFactor' not found on object of type 'EAGLView *' [2]
error: property 'contentsScale' not found on object of type 'CAEAGLLayer *' [2]
У меня установлен базовый SDK на iOS 4.3 и цель развертывания на iOS 3.0 Если я установил цель развертывания на 4.3, ошибка исчезнет,но я хочу, чтобы приложение работало на 3.0 и выше.
Что не так с кодом или проектом?