Подтвердить что ты не робот

Необъявленный идентификатор __bridge на xcode

Я пытаюсь преобразовать CFUUIDRef в NSString *.

До этого я использовал следующий код и работал нормально.

CFStringRef str = CFUUIDCreateString(NULL, _uuid); # _uuid is of type CFUUIDRef
return (__bridge NSString *) str;

Однако, после недавнего обновления Xcode (или другой вещи, которую я не заметил?), приведенный выше код дает мне ошибку:

Использование необъявленного идентификатора '__bridge'

Так что я сделал что-то не так? Как я могу это решить?

=== ОБНОВЛЕНО ===

Полный код:

+ (NSString *)uuidToString:(CFUUIDRef)_uuid {
  CFStringRef str = CFUUIDCreateString(NULL, _uuid); # _uuid is of type CFUUIDRef
  return (__bridge NSString *) str;
}

uuid генерируется:

uuid = CFUUIDCreate(NULL);
4b9b3361

Ответ 1

__bridge определяется только с включенным ARC (автоматическим подсчетом ссылок). Он используется для "переноса объектов в и из управления ARC". (Источник)

Чтобы включить ARC, перейдите к настройкам сборки и установите Objective-C Automatic Reference Counting в Yes.

Или, если вы не хотите использовать ARC, просто удалите __bridge, и он должен работать нормально.