Ответ 1
/# если работает как обычно, если:
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 30200
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
return YES;
}
#endif
return NO;
}
/# ifdef означает "если определено - некоторое значение или макросы":
#ifdef RKL_APPEND_TO_ICU_FUNCTIONS
#define RKL_ICU_FUNCTION_APPEND(x) _RKL_CONCAT(x, RKL_APPEND_TO_ICU_FUNCTIONS)
#else // RKL_APPEND_TO_ICU_FUNCTIONS
#define RKL_ICU_FUNCTION_APPEND(x) x
#endif // RKL_APPEND_TO_ICU_FUNCTIONS
или
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#endif
Используйте эту ссылку для получения дополнительной информации http://www.techotopia.com/index.php/Using_Objective-C_Preprocessor_Directives
Чтобы проверить, работает ли iPad или нет, у вас должно быть что-то вроде этого:
#define USING_IPAD UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad
if (USING_IPAD) {
NSLog(@"running iPad");
}
Здесь используется еще один полезный препроцессор:
#ifdef DEBUG
//here we run application through xcode (either simulator or device). You usually place some test code here (e.g. hardcoded login-passwords)
#else
//this is a real application downloaded from appStore
#endif