Попробуйте это:
NSError + CFErrorRef.h
@interface NSError (CFErrorRef)
- (CFErrorRef) cferror;
@end
NSError + CFErrorRef.m
#import "NSError+CFErrorRef.h"
@implementation NSError (CFErrorRef)
- (CFErrorRef) cferror
{
CFStringRef domain = (CFStringRef) self.domain;
CFDictionaryRef userInfo = (__bridge CFDictionaryRef) self.userInfo;
return CFErrorCreate(kCFAllocatorDefault, domain, self.code, userInfo);
}
@end
Я написал небольшой тестовый модуль для проверки того, что все преобразовано, и, похоже, оно работает правильно.Затем вы можете просто выполнить следующий селектор для вашего объекта NSError
CFErrorRef e = [error cferror];