Файл .pch позволяет избежать импорта общих файлов, таких как UIKit.h и Foundation.h. Если у вас есть эти файлы, импортированные в .pch, ваши собственные классы не должны импортировать их.
Значение #ifdef OBJC заключается в том, что вы не импортируете заголовки, содержащие код Objective-C, если у вас нет настроенного компилятора для построения кода Objective C (следовательно, вы избегаете множества ошибок компилятора).
Вы определяете такие параметры, как IS_PRODUCTION внутри настроек сборки цели. Я делаю это обычно в «другие флаги Си».