Мы создаем приложение для совместимости с iOS 8, но в то же время некоторые из наших разработчиков еще не имеют Xcode 6, поэтому они получают эта ошибка при попытке вызоваНет видимого @interface для «CLLocationManager» объявляет селектор «requestAlwaysAuthorization»
[self.locationManager requestAlwaysAuthorization];
Даже если внутри если
if(floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_7_1) {
[self.locationManager requestAlwaysAuthorization];
}
Как мы можем решить эту проблему, чтобы собрать на Xcode 5?
Если вы пытаетесь сделать его компилируемым, вы можете использовать performSelector: -> [self.locationManager выполнитьSelector: @selector (requestAlwaysAuthorization)]. Чтобы сделать это безопасным, вы также можете сделать, если (... && self.locationManager отвечаетSoSelector: @selector (requestAlwaysAuthorization)) – mitrenegade