2011-03-08 21 views
6

iOS 4.3'ten (GM Tohum 10M2518) beri MKReverseGeocoder kullanırken çöküyorlar. reverseGeocoder:didFailWithError: oldukça sık böyle bir hata ile çağrılan:iOS 4.3'te MKReverseGeocoder/PBHTTPStatusCode = 503 hataları nasıl çözülür?

Error Domain=NSURLErrorDomain Code=-1011 "The operation couldn’t be completed. (NSURLErrorDomain error -1011.)" UserInfo=0x339900 {PBHTTPStatusCode=503}

uygulama bu anlarda çökmesine eğilimindedir. Bu, iOS'un önceki sürümlerinde durum böyle olmamıştır.

Ne hakkında bir fikir geldi?

cevap

5

Eğer başarısızlık üzerinde zamanından önce ters geocoder serbest bırakmayın emin olun:

[_reverseGeocoder release] değiştirilmesi

-(void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFailWithError:(NSError *)error yılında [_reverseGeocode autorelease] için beni sorun giderildi. Benim MKReverseGeocoder kod Elma örneklerinden birini izledi halde, ilk ben aynı sorunu vardı -(void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFailWithError:(NSError *)error

_reverseGeocoder.delegate = nil; 
[_reverseGeocoder autorelease]; 
+0

için hata yapmayın geocoder nesnesini serbest bırakmayın ama hala FailWithError. Nedenini açıklayabilirsiniz ..http: //stackoverflow.com/questions/7443252/at-first-time-mkreversegeocoder-didfailwitherrorerror-domain-nsurlerrordomain -c – Srinivas

+0

burada aynı ... Herhangi bir çözüm ?? Teşekkürler – Frade

+0

Çok fazla kez çağırıyor olmalısınız http://stackoverflow.com/questions/2941495/mkreversegeocoder-server-returned-error-503 –

2

Aynı problem burada çeşitli çözümleri inceledik ve çalışmadık. 503 yanıt kodu, önceki işletim sistemi tarafından farklı şekilde ele alınır, iPhone trafiğini koklayarak kolayca fark edebilirsiniz.

MKReverseGeocoder'a (Gowalla gibi) dayanan uygulamalar Apple'a karşı biraz baskı yapar ... bu nedenle bu günlerde 4.3.1 düzeltmesi olmasını beklerim. Veya Google, SLA'larını Apple istekleriyle değiştirecek.

1

zippo77 cevabı itibaren ardından, ben en iyi sonuçları buldum (MKReverseGeocoder küresel bir autorelease değişken olarak). Ayrıca sorun sadece iOS 4.3'te (4.0'ın sorunsuz çalıştığı) ortaya çıktı.

Sorunun çözdüğü şey, autorelease parçasını kaldırarak ve MKReverseGeocoder görüntüyü yalnızca dealoc sürümünde bırakıyordu.

1

nil için MKReverseGeocoder temsilci ayarlarken

4

tarihinde tek cihaz dolayısıyla başka bir yöntemle (yerine JSON gerekli http isteği) (MKReverseGeocoder *) geocoder didFailWithError ile çalışan, 60 saniye içinde bir kereden konumu daha almak için izin vermez.

Bu benim için 4.3.3 (3GS) üzerinde çalışıyor ve bir kaza olmadan art arda kullanıcının yerini 30-40 kez test etti, umarım yardımcı olur!

+0

Bu nedenle, paketlenmiş MKReverseGeocoded 'i did' 'açık bir JSON isteği yapmak için geri dönüş' Çalış. Tuhaf bir çözüm değil mi? İlk etapta açık bir istekte bulunursanız kod daha kompakt olacaktır. –

1

Coğrafi kodlayıcı yer işareti bulmadan önce konum yöneticisini durdurursunuz. DidFindPlacemark içinde veya hata

İlgili konular