web-dev-qa-db-ja.com

Xcode 8: 'objc_unretainedPointer'は使用できません代わりに__bridgeキャストを使用してください

プロジェクトをXcode8に更新したところ、アプリに含まれている複数の外部フレームワークでこのエラーが見つかりました。このコンパイルエラーを回避するための回避策はありますか、おそらく設定に触れますか?

これはエラーの例です:(インポートされたフレームワークであるため、変更できません)

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

Xcode 8の場合、次のようになります。

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

objc_unretainedPointer(self)(__bridge void *)(self)に置き換えるだけです。

2
Dheeraj D