Objective-Cランタイムで定義される風変わりな名前のマクロ。
Macro
OBJC_BOOL_IS_BOOL
iOS | iPadOS | Mac Catalyst | macOS | tvOS | visionOS | watchOS#define OBJC_BOOL_IS_BOOLOBJC_BOOL_IS_BOOL | Apple Developer Documentation
Objective-C BOOL型==C言語 bool型となる環境において定義される。BOOL==signed char型となる環境では、別マクロOBJC_BOOL_IS_CHARが定義される。
https://github.com/opensource-apple/objc4/blob/master/runtime/objc.h より引用。
/// Type to represent a boolean value. #if (TARGET_OS_IPHONE && __LP64__) || TARGET_OS_WATCH #define OBJC_BOOL_IS_BOOL 1 typedef bool BOOL; #else #define OBJC_BOOL_IS_CHAR 1 typedef signed char BOOL; // BOOL is explicitly signed so @encode(BOOL) == "c" rather than "C" // even if -funsigned-char is used. #endif
関連URL