Директива препроцессора для обнаружения iPad - PullRequest
3 голосов
/ 22 сентября 2010

Я объявляю некоторые константы в заголовочном файле, которые должны различаться в зависимости от того, приложение это для iPad или iPhone. Как бы я это сделал?

т.е.

#ifdef ISIPAD
static NSString myconst = @"ipad!";
#else
static NSString myconst = @"iphone!";
#endif

1 Ответ

7 голосов
/ 22 сентября 2010

Если вы пишете универсальное приложение, вы не можете выполнить проверку времени компиляции, так как компилятор генерирует один исполняемый файл для iPhone и iPad.Если у вас есть отдельные приложения для iPhone и iPad (с общей кодовой базой), почему бы просто не #define ISIPAD соответствующим образом самостоятельно.В противном случае вы должны сделать проверку во время выполнения.

Вы можете сделать их глобальными переменными, которые инициализируются при запуске вашего приложения, проверив, на каком устройстве вы работаете, и затем установив их соответствующим образом.

...