Я сходил с ума, пытаясь понять, почему только один из нескольких классов, использующих CLLocationManager, никогда не сможет получить вызов любого методов CLLocationManagerDelegate.
Оказывается: этот класс был инициализирован из неосновного потока, поэтому его CLLocationManager был создан в неосновном потоке ... он мог даже быть временным потоком.В любом случае, завершение вызова для инициализации моего класса с помощью приведенного ниже кода - это все, что нужно для вызова методов моего делегата CLLocationManager.
dispatch_sync(dispatch_get_main_queue(),
^{
// create your class that will create a CLLocationManager here.
});
Итак, нижняя строка: не создавайте CLLocationManager ни на чем, кромеосновной поток, иначе вы никогда не вызовете свои методы делегата!Я когда-то знал это ... просто давно ... вздох.Потраченный впустую день, чтобы понять это снова!Поскольку все CLLocationManager SO, которые я читал, никогда не упоминали об этом, я публикую это здесь.Надеюсь, это кому-нибудь поможет!