Похоже, вы используете ARC.
ARC запрещает стандартное приведение между указателями на объекты Objective-C и указателями других типов, включая указатели на объекты CoreFoundation.
Следующий код,что правильно при ручном управлении памятью, не компилируется с ARC:
NSString* name = (NSString *)ABRecordCopyValue(person,
kABPersonFirstNameProperty);
Чтобы компилировать с ARC, необходимо аннотировать приведение.См. мостовые приведения .
NSString* name = (__bridge_transfer NSString *)ABRecordCopyValue(person,
kABPersonFirstNameProperty);
. Аннотация __bridge_transfer
перемещает значение в ARC и передает владение , т. Е. Сообщает ARC, что этот объект уже сохранен.и что ARC не нужно сохранять его снова.