Определить версию iOS в xcode - неожиданный символ @ в программе

omega1 спросил: 27 ноября 2017 в 06:28 в: ios

Я унаследовал некоторый код в xcode (ниже) и получаю сообщение об ошибке 'Unexpected '@' in program'.

Мне удалось выяснить, что это может быть связано с Тот факт, что исходный код был написан на xcode > 9.0, в то время как моя версия (из-за аппаратных ограничений) - xcode 8.2.1

Из исследования я определил, что проблема связана с этой частью кода:

 if (@available(iOS 9.0, *)) {

Что мне нужно изменить на

if #available(iOS 9.0, *) {

Но если я это сделаю, то получу следующую ошибку

Expected '(' after 'if'

Исходный фрагмент кода -

if ([self.uploadProgress respondsToSelector:@selector(setResumingHandler:)]) {
    if (@available(iOS 9.0, *)) {
        [self.uploadProgress setResumingHandler:^{
            __typeof__(weakTask) strongTask = weakTask;
            [strongTask resume];
        }];
    } else {
        // Fallback on earlier versions
    }
}

И это то, что я пытался изменить на

if ([self.uploadProgress respondsToSelector:@selector(setResumingHandler:)]) {
    if #available(iOS 9.0, *) {
        [self.uploadProgress setResumingHandler:^{
            __typeof__(weakTask) strongTask = weakTask;
            [strongTask resume];
        }];
    } else {
        // Fallback on earlier versions
    }
}

Любая помощь будет оценена, спасибо.

0 ответов