rollback and fix to support both iOS 8 and iOS < 8, on Xcode 6 & before