महत्वपूर्ण : इस चेक को हमेशा एसिंक्रोनस रूप से किया जाना चाहिए । नीचे दिए गए अधिकांश उत्तर समकालिक हैं इसलिए सावधान रहें अन्यथा आप अपने ऐप को फ्रीज कर देंगे।
तीव्र
1) कोकोआपोड्स या कार्थेज के माध्यम से स्थापित करें: https://github.com/ashleymills/Reachability.orift
2) क्लोजर के माध्यम से परीक्षण की पुनरावृत्ति
let reachability = Reachability()!
reachability.whenReachable = { reachability in
if reachability.connection == .wifi {
print("Reachable via WiFi")
} else {
print("Reachable via Cellular")
}
}
reachability.whenUnreachable = { _ in
print("Not reachable")
}
do {
try reachability.startNotifier()
} catch {
print("Unable to start notifier")
}
उद्देश्य सी
1) SystemConfiguration
परियोजना में रूपरेखा जोड़ें , लेकिन इसके बारे में कहीं भी चिंता न करें
2) प्रोजेक्ट में Reachability.h
और Reachability.m
(यहाँ पाया गया: https://github.com/tonymillion/Reachability ) टोनी मिलियन का संस्करण जोड़ें
3) इंटरफ़ेस सेक्शन को अपडेट करें
#import "Reachability.h"
// Add this to the interface in the .m file of your view controller
@interface MyViewController ()
{
Reachability *internetReachableFoo;
}
@end
4) फिर इस विधि को अपने व्यू कंट्रोलर की .m फाइल में लागू करें जिसे आप कॉल कर सकते हैं
// Checks if we have an internet connection or not
- (void)testInternetConnection
{
internetReachableFoo = [Reachability reachabilityWithHostname:@"www.google.com"];
// Internet is reachable
internetReachableFoo.reachableBlock = ^(Reachability*reach)
{
// Update the UI on the main thread
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"Yayyy, we have the interwebs!");
});
};
// Internet is not reachable
internetReachableFoo.unreachableBlock = ^(Reachability*reach)
{
// Update the UI on the main thread
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"Someone broke the internet :(");
});
};
[internetReachableFoo startNotifier];
}
महत्वपूर्ण नोट:Reachability
ताकि आप अन्य परियोजनाओं के साथ संघर्ष के नामकरण में आ सकते हैं वर्ग परियोजनाओं में सबसे अधिक इस्तेमाल किया वर्गों में से एक है। यदि ऐसा होता है, तो आप के जोड़े में से एक का नाम बदलने का होगा Reachability.h
और Reachability.m
इस मुद्दे को हल करने के लिए कुछ और करने के लिए फ़ाइलों।
नोट: आपके द्वारा उपयोग किया जाने वाला डोमेन कोई मायने नहीं रखता। यह किसी भी डोमेन के प्रवेश द्वार के लिए परीक्षण कर रहा है।
return (BOOL)URLString;
, या इससे भी बेहतर,return !!URLString
याreturn URLString != nil