2010-09-24 11 views
43

के लिए पहुंच योग्यता मार्गदर्शिका क्या किसी को आईओएस पर पहुंच क्षमता को लागू करने के लिए आधा रास्ते सभ्य मार्गदर्शिका मिली है?आईओएस

उत्तर

95

मैंने इस तरह रीचैबिलिटी लागू की है। https://developer.apple.com/library/content/samplecode/Reachability/Introduction/Intro.html डाउनलोड करें और अपनी परियोजना में Reachability.h और .m जोड़ें। अपनी परियोजना में सिस्टम कॉन्फ़िगरेशन फ्रेमवर्क जोड़ें। #import "Reachability.h" जहां आप इसका उपयोग करना चाहते हैं। इस कोड का प्रयोग करें।

-(BOOL)reachable { 
    Reachability *r = [Reachability reachabilityWithHostName:@"enbr.co.cc"]; 
    NetworkStatus internetStatus = [r currentReachabilityStatus]; 
    if(internetStatus == NotReachable) { 
     return NO; 
    } 
    return YES; 
} 

आप गम्यता के लिए जाँच करना चाहते हैं जब ...

if ([self reachable]) { 
    NSLog(@"Reachable"); 
} 
else { 
    NSLog(@"Not Reachable"); 
} 

यहाँ उदाहरण परियोजना है कि मैं बनाया है। http://dl.dropbox.com/u/3656129/ReachabilityExample.zip

+0

धन्यवाद! यह बहुत अच्छा काम किया। – esqew

+0

अरे, मैं इस कोड का एक संस्करण उपयोग कर रहा हूं, और यह अच्छी तरह से काम कर रहा है। इंटरनेट पर मिलने वाली अन्य सभी जानकारी अधिसूचनाओं का उपयोग करती है, और वाईफाईरच, इंटरनेट रीच और होस्ट पहुंच के लिए। यह जाने के लिए एक और अधिक साफ रास्ता लगता है। क्या कोई नकारात्मक पक्ष है जो मैं नहीं देख रहा हूं? – averydev

+0

नहीं। जहाँ तक मुझे पता है। बस सुनिश्चित करें कि आप जिस मेजबान की जांच कर रहे हैं वह ऊपर है और अवरुद्ध नहीं है। – enbr

2

मुझे लगता है कि मेजबान पते की उपलब्धता की जांच करने का सबसे अच्छा तरीका NSURL अनुरोध के परिणामों की जांच कर रहा है।

NSURLRequest *theRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:reqURL]]; 
NSURLResponse *resp = nil; 
NSError *error = nil; 
NSData *response = [NSURLConnection sendSynchronousRequest: theRequest returningResponse: &resp error: &error]; 
NSString *responseString = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding]; 

कोड के इस बिट का उपयोग करना, अगर आपके डिवाइस प्रदान किए गए URL नहीं पहुँच सकते हैं, यह त्रुटि चर के लिए कुछ उत्पादन, प्रदान करता है यह यूआरएल अनुरोध का उपयोग कर सकते हैं, त्रुटि शून्य है।

पहुंच योग्यता सकारात्मक आउटपुट देती है भले ही आप यूआरएल पैकेट अपने डिवाइस से बाहर निकल सकते हैं और मेजबान सर्वर तक कभी नहीं पहुंच सकते हैं।

+0

' पॉड 'कर सकते हैं आमतौर पर आप केवल एक हेड अनुरोध करेंगे यदि आप केवल यह देखना चाहते हैं कि संसाधन उपलब्ध है। यदि आप इसे किसी भी तरह से डाउनलोड करने जा रहे हैं तो सुनिश्चित करें, बस इसे डाउनलोड करने का प्रयास करें। – hooleyhoop