刚刚将我的项目更新为Xcode 8,我在我的应用程序包含的多个外部框架中发现了这个错误。是否有解决方法,可能涉及设置,以避免此编译错误?
这是一个错误示例:(我无法修改,因为它是导入的框架)
const void * ivarPtr = objc_unretainedPointer(self) + ivar_getOffset(ivar);
[decoder decodeValueOfObjCType:[ivarInfo[@"encoding"] UTF8String] at:(void *)ivarPtr];
答案 0 :(得分:18)
对于Xcode 8,它应该是:
const void * ivarPtr = (__bridge void *)(self) + ivar_getOffset(ivar);
答案 1 :(得分:2)
您可以简单地将objc_unretainedPointer(self)
替换为(__bridge void *)
(自我)