SORU
6 AĞUSTOS 2010, Cuma


Önemli bir değişiklik için davranış location API/askıya sonlandırıldı?

Bu CLLocationManager belgeler startMonitoringSignificantLocationChanges davranış: uygulamayı açıklayan bölümünden

Eğer bu hizmet ve başlatın uygulama daha sonra. sistem otomatik olarak sonlandırıldı içine bağımsız olarak uygulamayı yeniden başlatır yeni bir olay arka plan geldi. İçinde böyle bir durumda, seçenekler sözlük bu geçti application:didFinishLaunchingWithOptions: başvuru temsilciye yöntemi anahtarı içerir UİApplicationLaunchOptionsLocationkey uygulamanız olduğunu göstermek için konumu bir olay nedeniyle başlattı. Yeniden başlatmak gerekir hala üzerine yapılandırma konum yöneticisi nesnesi ve bu yöntem devam çağrısı olaylar yer alıyor. Sen ne zaman geçerli yeniden yer hizmetleri olay, temsilciye teslim edilir hemen. Buna ek olarak, konumu konum yöneticisi özelliği nesne en ile doldurulur yeni yerimiz daha önce nesne yer hizmetleri başlatın.

Yani benim anladığım bu Eğer uygulama sona erdirir (ve eğer ben kabul edersem aramıyorsun stopMonitoringSignificantLocationChanges applicationWillTerminate) alacaksın uyandı ile UIApplicationLaunchOptionsLocationKey parametre application:didFinishLaunchingWithOptions. Bu noktada ** 8, çağrı startMonitoringSignificantLocationChanges oluşturun ve arka plan konumu limited time için işlem yapmak. Bu biraz iyiyim.

Önceki paragraf sadece uygulanmadığı, uygulama sonlandırıldığında, ne açıklık getirmiyor ne olabileceği hakkında konuşuyor. didFinishLaunchingWithOptions belgelerine diyor ki:

Uygulama konumunu izler arka planda güncellemeleri, temizlendi, ve şimdi yeniden hizmete olmuştur. Bu dava, sözlük bir anahtar içerir uygulama olduğunu belirten yeniden hizmete nedeniyle yeni bir konuma olay.

Sadece bu alırsınız düşündüren uygulaması sonlandırıldı sonra başlattı (konum değişikliği nedeniyle) olduğunda Ara.

Ancak Location Awareness Programming Guide Significant Change Service paragrafa söylemek şu vardır:

Eğer bu hizmet ve çalışıyorsa bırakın uygulama daha sonra. askıya alınmış veya hizmeti sona erdirildi otomatik olarak uyanır yeni konum verileri. geldi. Uyuma zamanı, uygulama arka plana koymak. ve zaman küçük bir miktar verilir konum verileri işlemek. Çünkü uygulama arka planda. en az bir iş yapmak ve kaçınmak gerekir (sorgulama gibi herhangi bir görev ağ) engelleyebilir tahsis edilen süre önce dönen sona eriyor. Eğer bunu yaparsa uygulama sona erdirilebilir.

Bu uygulama askıya alındı, ama uyandı nasıl söz başarısız olursa konum verileri ile uyandı ileri sürüyor:

Bu yazma işlemi, sadece kendi soruma cevap vermiş olabilirim, ama bu birileri tarafından onaylandı benim anlayış daha bilgili olması çok iyi olurdu.

CEVAP
14 AĞUSTOS 2010, CUMARTESİ


Beri sordum bu soruyu, ben yapmış adil bir bit Test (çoğunlukla trene arasında ev ve iş) ve doğrulandı ... davranışları için askıya uygulamaları olduğunu tahmin ettiğim gibi sonunda bir soru.

Bu, asma, app uyandı, CLLocationManagerDelegate mevcut konumu yoluyla güncellemeleri alırsınız bunun yerine app temsilci herhangi bir geri alma yok. Bu kontrol ederek arka planda çalıştırdığınız tespit edebilirsinizapplicationStateve askıya alınmış bir devlet konumundan işlem yapmak için uyandı bulunduğun durum için sınırlı bir iş yapmak.

[UIApplication sharedApplication].applicationState == UIApplicationStateBackground

18 ** ve denemek için bekliyoruz bu konumda bir test koşum takımı ile bu sonuca ulaştım. Size önemli bir değişiklik açın ve kullanıcı arabirimi aracılığıyla bir API değiştirmek ve geri almak tüm yanıtları günlük gps olanak sağlayan çok basit bir uygulama.

N. B.Önceki cevap içinde altı nokta doğru değil.Dondurularak kurutulmuşuygulamalar askıya almaCLLocationManagerDelegateonlar ne zaman geri bekleyen bir durum uyandı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • amc

    amc

    21 EYLÜL 2005
  • Elefant Traks

    Elefant Trak

    5 HAZİRAN 2007
  • SketchBookPro

    SketchBookPr

    6 Mayıs 2009