webentwicklung-frage-antwort-db.com.de

Xcode 8: 'objc_unretainedPointer' ist nicht verfügbar. Verwenden Sie stattdessen einen __bridge-Cast

Ich habe gerade mein Projekt auf Xcode 8 aktualisiert und finde diese Fehler in mehreren externen Frameworks, die in meiner App enthalten sind. Gibt es eine Problemumgehung, die möglicherweise Einstellungen berührt, um diese Kompilierungsfehler zu vermeiden?

Dies ist ein Fehlerbeispiel: (Dass ich nicht modifizieren kann, da es sich um ein importiertes Framework handelt)

const void * ivarPtr = objc_unretainedPointer(self) + ivar_getOffset(ivar);
[decoder decodeValueOfObjCType:[ivarInfo[@"encoding"] UTF8String] at:(void *)ivarPtr];
20
tonik12

Für Xcode 8 sollte es sein:

const void * ivarPtr = (__bridge void *)(self) + ivar_getOffset(ivar);
18
Jin

Sie können einfach objc_unretainedPointer(self) durch (__bridge void *) (selbst) ersetzen.

2
Dheeraj D