Use respondsToSelector instead of Macros to check version