iOS 7: 'isa' ist veraltet

7

Ich bekomme eine Warnung, wenn ich meine App in iOS7 starte "'isa' ist veraltet", ich habe keine Ahnung, wie ich diese Warnmeldung beheben soll. Bitte irgendeine Hilfe zu diesem Thema.

%Vor%     
Divya Bhalodiya 09.11.2013, 11:01
quelle

2 Antworten

17

Fügen Sie <objc/runtime.h> hinzu.

Ersetze alles wie array->isa = _JKArrayClass; mit object_setClass(array, _JKArrayClass)

Und alles wie class = array.isa mit class = object_getClass(array)

    
Sviatoslav Yakymiv 09.11.2013, 11:06
quelle
15

Ich dachte mir, ich würde meine Lösung für die Cocoapods-Benutzer da draußen teilen. (Bitte lassen Sie mich in den Kommentaren wissen, wenn Sie eine bessere Lösung gefunden haben)

Ich verwende Cocoapods und aus diesem Grund möchte ich den Quellcode der Bibliotheken, die ich einlese, nicht ändern. Das Problem wird dadurch verursacht, dass Cocoapods den Wert "Direkte Verwendung von 'isa'" auf "Ja" setzt als Fehler) ", wodurch alle automatisierten Builds fehlschlagen.

Ich habe das Problem behoben, indem ich dieses zu meinem Podfile hinzufüge:

%Vor%

Auf diese Weise wird die direkte Verwendung von 'isa' als Warnung angezeigt, aber keine automatischen Builds zum Absturz bringen.

Aber in arm64 iOS Device Build (mit Xcode 5.1.0) seltsamerweise CLANG_WARN_DIRECT_OBJC_ISA_USAGE = 'YES' Option wird nicht korrekt angewendet (behandeln als Fehler). Wenn Sie einen Build erstellen müssen, einschließlich arm64, kann nur die Option CLANG_WARN_DIRECT_OBJC_ISA_USAGE = 'NO' verwendet werden.

    
bsarrazin 25.11.2013 13:17
quelle

Tags und Links