2017-12-21 2 views
0

Ich habe einige Code in xcode (unten) geerbt und bekomme einen 'Unexpected '@' in program' Fehler gemeldet.iOS-Version in xcode erkennen - Unerwartete '@' im Programm

ich in der Lage gewesen, um herauszufinden, dass dies wahrscheinlich aufgrund der Tatsache, dass der ursprüngliche Code in Xcode geschrieben werden soll> 9,0, während meine Version (aufgrund von Hardware-Beschränkungen) ist Xcode 8.2.1

Aus Erforschung, habe ich festgestellt, dass das Problem mit diesem Teil des Codes ist:

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

die ich

if #available(iOS 9.0, *) { 

Aber ändern müssen, wenn ich das, bekomme ich dann die f Fehler

Expected '(' after 'if' 

Das ursprüngliche Stück Code ist ach

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 
    } 
} 

Und das ist, was ich habe versucht, es zu

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 
    } 
} 

Jede Hilfe würde geschätzt, danke zu ändern.

+2

Das ist, weil die, die Sie verwenden für Swift ist, nicht objektiv c. Überprüfen Sie diese Antwort: https://stackoverflow.com/questions/3339722/how-to-check-ios-version/44429397#44429397 – Pochi

+2

Mögliche Duplikat von [Wie iOS-Version überprüfen?] (Https://StackOverflow.com/questions/3339722/how-to-check-ios-version) – Pochi

+0

@Pochi Vielen Dank für Ihre Antworten. – omega1

Antwort

2

verfügbar (iOS 9.0 *) in swift für Objective-C verwendet man diese versuchen kann

if (floor(NSFoundationVersionNumber) >= NSFoundationVersionNumber_iOS_9_x_Max) 

ODER

#if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 
    // For iOS 10 display notification (sent via APNS) 

    #endif 
+0

Danke, es war der Unterschied zwischen swift/objective-c, den ich nicht vollständig verstanden hatte. Vielen Dank. – omega1

Verwandte Themen