Я пытаюсь использовать новый iOS7 MKMapSnapshotter для создания статического изображения карты. Всякий раз, когда моему приложению нужна карта, я вызываю следующее:
MKMapSnapshotter *snapshotter = [[[MKMapSnapshotter alloc] initWithOptions:theOptions] autorelease];
dispatch_queue_t aQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0);
DebugLog(@"Snapshotter allocated %@ and run on queue %@", snapshotter, aQueue);
[snapshotter startWithQueue:aQueue completionHandler:^(MKMapSnapshot *snapshot, NSError *error) {
DebugLog(@"Snapshotter completion block %@", snapshotter);
// perform selector on main thread to set self.imageView.image = shanpshot.image;
}
В большинстве случаев это работает отлично. Однако иногда кажется, что устройство перегружено запросами на карты, а затем прекращает рендеринг. В моем файле журнала я увижу первый оператор журнала о "выделенном снимке", но никогда не увижу сообщение "Блок завершения снимка".
Возможно ли, что мои запросы никогда не выполняются из очереди отправки? У кого-нибудь была эта проблема?