Когда вы запускаете вещи в главном потоке, он может заблокировать все - попробуйте получить местоположение с помощью
[self performSelectorInBackground:@selector(mySelector:) withObject:objectName];
ОБНОВЛЕНИЕ:
Для этого вам потребуется создать пул автоматического выпускатакже новый поток, поэтому в качестве первой строки в mySelector введите:
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
, а в последней строке введите:
[pool release];
Весь ваш другой код находится между ними.Если вы этого не сделаете, у вас будут неприятные проблемы с памятью.