Внутри mach-o есть флаг, используемый для определения того, является ли двоичный файл, скомпилированный с поддержкой GC, для не-GC или смешанного режима.
Я не знаю ничего, что запрашивает эти биты черезболее дружественный API.
Источник markgc.c в среде выполнения Objective C может считывать указанные флаги.Вы можете рефакторировать его по своему усмотрению.
Довольно любопытно, зачем вам это нужно?