Yeni iOS7 API (NSURLSession) ile arka plan indirme hakkında Apple belgeleri okuduktan sonra, biraz hayal kırıklığına uğradım. Ben ... Elma hiçbir arka planda ağ kullanılabilirliği üzerinde duraklama/özgeçmiş yönetmek (veya bunu yapmak için bir seçenek sunmak) ama emindiNSURLSession arka plan indir - ağ hatası üzerinden devam
Yani belgeleri okuyarak, bu elimizde ne olduğunu:
When any task completes, the NSURLSession object calls the delegate’s URLSession:task:didCompleteWithError: method with either an error object, or nil if the task completed successfully. If the task is a resumable download task, the NSError object’s userInfo dictionary contains a value for the NSURLSessionDownloadTaskResumeData key. Your app should use reachability APIs to determine when to retry, and should then call downloadTaskWithResumeData: or downloadTaskWithResumeData:completionHandler: to create a new download task to continue that download. Go to step 3 (creating and resuming task objects).
Şimdiye kadar çözüm anlıyorum ama sorum şu: ağının kaybını işlemek ve arka planda indirilmeye devam etmek en iyisidir nedir mimarisi?
Tarafımdan erişilebilirliği kullanıyorum ve ağ her kullanılabilir olduğunda, tüm görevleri (oluştururken NSArray üzerinde başvurulan) devam ettiririm ve ağ kaybolduğunda bunları askıya alırım. Bu ön planda çalışır ancak arka plan için ben şu konularda ihtiyaç: Ben bütün görevleri bağlantısı olmadan arka planda giderseniz uygulamamı ön planda hiçbir bağlantısı varsa
askıya kalır ve olmaz ağ mevcutsa geri geldi…
Arka planda ağı kaybetme, tüm karşıdan yüklemeleri/görevleri durdur. Senaryo: Ön planda
- , benim görevleri indirmeye başlamak
- ben arka plana ve 10s peşine "aireplan modu"
- için Tüm görevler bir hata var geçin. Yani URLSession: task: didCompleteWithError yönteminde: Onları downloadTaskWithResumeData kullanarak devam ettiririm veya yapamazsam (bazılarının yeterli özgeçmişi olmadığından) özgeçmiş olarak yeni bir görev oluşturuyorum (ağa geri dönülmüyorsa) o zamanda).
- O zaman arka planda hâlâ gibi ağ geri uygulamayı başlatırken olmadan olduğunda ben bu noktaları ele nasıl ben ...
bir "özgeçmiş" tetikleyemez kadar
Hayal kırıklığınızı paylaşıyorum. Bu konuda Apple'dan bir cevap beklediğinizi belirtiyorsunuz. Onlardan haber aldın mı? Çözünürlük nedir? – gavdotnet
Apple ile bolca alışveriş yaptık ama üretken değildi, rekabeti, tezlerin dikkatini çeken (ancak sonuçların zamanında garanti edilmeden) dikkat çeken bayrağı kullanmasıdır. Bu mod benim amacım değildi, fazla odaklanmadım ama testim başarılı değildi. Bu bölümü test ettiyseniz, bilgi almak için hala ilginç olacaktır. – Gros