fixed some platform switches to handle cases where TARGET_OS_IPHONE is #defined as 0