При изучении программирования для iPhone каждый шаблон Xcode, который я видел, включает файл AppName-Prefix.pch со следующим содержанием:
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#endif
Насколько я понимаю заключается в том, что перед компиляцией к содержимому этого файла добавляется префикс каждого файла исходного кода. Тем не менее, каждый из других файлов также импортирует UIKit, что кажется излишним. Например, main.m
начинается ...
#import <UIKit/UIKit.h>
int main(int argc, char *argv[]) {
...
Какао-приложения в Mac OS X делают то же самое, импортируя Cocoa.h как в файл префикса, так и в файлы заголовков.
Почему оба ? Я удалил директивы #import
из всех исходных файлов, кроме файла префикса, и он скомпилировался и работал правильно.