I know BOOL is actually a typedef of signed char, but what about Boolean?
What is the difference between bool, Boolean and BOOL?
If your new APIs have no need to interact with old ones, bool is more specific and clear than BOOL.
bool
When building an non-Mac application with Xcode 9, BOOL v = 2; NSLog(@"%d", v); outputs "1", not "2".
BOOL v = 2; NSLog(@"%d", v);
Reference to Apple documentation