Ошибки компиляции после обновления до XCode 4 - PullRequest
0 голосов
/ 02 мая 2011

Я обновил 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 и выше.

Что не так с кодом или проектом?

1 Ответ

1 голос
/ 02 мая 2011

"У меня установлен базовый SDK для iOS 4.3 и цель развертывания для iOS 3.0"

Так что предупреждаю вас, что свойства scale, contentScaleFactor и contentsScale были введены в 4.0, и вы не можете использовать их в 3.x.

Если вы действительно хотите выполнить развертывание в 3.x (и все, что я видел, говорит о том, что стоит сделать так, чтобы ваше приложение поддерживало его, особенно после объединения iOS после iPad2), вам придется обойти эти свойства не там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...