# if および # define ステートメントの多くの定義を読みました。
私は読んだ方法を使用しようとしましたが、以下のコメントとしてそれを定義する行に「プリプロセッサ式の開始時に無効なトークン」というエラーのみがありました。
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#define is_ipad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
#define is_ipad_hd ( (is_ipad == 1 && [UIScreen mainScreen].bounds.size.width > 1024 ) ? YES : NO)
#define is_iphone_hd ([UIScreen mainScreen].bounds.size.width > 480 ? YES : NO)
#define device_width 480.0f
#define device_height 320.0f
#if (is_ipad_hd == YES) // Error here
#define device_width = 2048.0f
#define device_height = 1496.0f
#endif
簡単なチュートリアルで機能する理由と、より複雑なものを試すと、これらのことが起こります!