Я только начинаю снова с разработки для Mac.
Я использую CoreMIDI, который является C API, который позволяет мне определять функцию обратного вызова C, которая будет вызываться с сервера MIDI в отдельном потоке всякий раз, когдаMIDI сообщение приходит.Регистрация этого обратного вызова выполняется в коде Objective-C / C, инициированном вызовом awakeFromNib.
Кажется, что он работает нормально, за исключением того, что когда я получаю свой первый обратный вызов, я получаю следующее предупреждение на консоли:
MidiList(6685,0x103ddb000) malloc: *** auto malloc[6685]: error: GC operation on unregistered thread. Thread registered implicitly. Break on auto_zone_thread_registration_error() to debug.
Я прочитал об этом в Интернете, и это звучит как безобидная ошибка.Но странная вещь для меня в том, что я не понимаю, как произошла «операция ГХ»?В моем проекте включен GC, но я думал, что это только для частей Какао.И мой обратный вызов не использует никакого кода Какао, это просто бесплатная функция, которая использует некоторые функции CoreMIDI и CoreFoundation (включая CFSTR, если это имеет значение).Почему операция GC происходит в этом потоке, если я не использую какие-либо объекты Какао?