SORU
11 Ocak 2012, ÇARŞAMBA


Kolay iOS İnternet bağlantısı tespit etmek için bir yol?

Bu soru Diğerleri kopya olarak görünür biliyorum, ancak basit durumu iyi anlatıyor burada hissetmiyorum. HTTPUrlConnection ile Android ve BlackBerry bir arka plan, rica gelen eğer bağlantı varsa orada anında başarısız. Bu tamamen mantıklı bir davranış gibi görünüyor, ve iOS NSURLConnection taklit değil bulmak için sürpriz oldu.

Apple (ve genişletilmiş olanlara) ağ durumunu belirlemek yardımcı olmak için Reachability bir sınıf sağlayan anlıyorum. Mutluydum ilk görüyor ve tam olarak görülmesi gibi bir şey bool isNetworkAvailable(), ama onun yerine bir sürpriz bulduğum bir karmaşık sistem gerektiren bildirim kayıtları ve geri, ve bir sürü görünüşte gereksiz ayrıntılar. Daha iyi bir yolu olmalı.

Benim uygulama zaten incelikle bağlantı arızaları, bağlantı gibi işler. Kullanıcı hatası bildirilir ve bu uygulama devam ediyor.

Böylece benim gereksinimleri basit: Eğer gerçekten isteği gönderme rahatsız gerekip gerekmediğini belirlemek için tüm HTTP istekleri önce arayabileceğim Tek, senkron fonksiyonu. İdeal kurulum gerektirir ve sadece bir boolean döndürür.

Bu gerçekten mümkün iOS değil mi?

CEVAP
11 Ocak 2012, ÇARŞAMBA


Biraz daha araştırma yaptım ve daha geçerli bir çözüm ile benim cevap güncelleme yapıyorum. Eğer zaten baktı varsa emin değilim ama güzel bir örnek kod Apple tarafından sağlanır.

Örnek kodu here indir

Bu Erişilebilirlik vardır.h ve Erişebilirlik.m proje dosyaları. ReachabilityAppDelegate bir göz atın.ana belirlemek için nasıl bir örnek görmek için m Erişebilirlik, Erişebilirlik MİNİ ile WiFi, vb. Ağ erişilebilirlik çok basit bir kontrol için, böyle bir şey yapabilirsiniz

Reachability *networkReachability = [Reachability reachabilityForInternetConnection];   
NetworkStatus networkStatus = [networkReachability currentReachabilityStatus];    
if (networkStatus == NotReachable) {        
    NSLog(@"There IS NO internet connection");        
} else {        
     NSLog(@"There IS internet connection");        
}

@BenjaminPiette: sistemi konfigürasyonu.eklemeyi unutmayın proje için çerçeve.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GOTO Conferences

    GOTO Confere

    3 EKİM 2011
  • How To Cook That

    How To Cook

    16 NİSAN 2011
  • mist64

    mist64

    30 Mayıs 2006