मैं नेटवर्क की स्थिति निर्धारित करने के लिए सफलतापूर्वक उपयोगिता का उपयोग कर रहा हूं, और परिवर्तनों के अधिसूचित होने के लिए (उदा। Reachability Guide for iOS 4)।वाई-फाई नेटवर्क छोड़ते समय पृष्ठभूमि में आईओएस में पहुंच क्षमता नोटिफिकेशन कैसे प्राप्त करें?
मेरा प्रश्न यह नहीं है कि पहुंचने योग्यता कैसे चल रही है और चल रही है, बल्कि निम्नलिखित है।
मेरा AppDelegate
पहुंच योग्यता सामग्री को संभालता है। ऐप चल रहा है, जबकि ऐप चल रहा है, और जब ऐप पृष्ठभूमि में है (applicationDidEnterBackground:
) ऐप नोटिफिकेशन प्राप्त करता है (kReachabilityChangedNotification
)।
ऐप को एक ऑडियो स्ट्रीम स्ट्रीम करने के लिए डिज़ाइन किया गया है जब यह नोटिस करता है कि यह वाई-फ़ाई कनेक्शन खो गया है, उदा। परीक्षण करने के लिए, मैंने सेटिंग में वाई-फाई चालू और बंद कर दिया, और सब कुछ पूरी तरह से काम किया। वास्तविक दुनिया परीक्षण में, जब मैं एक्सेस पॉइंट की सीमा से बाहर निकलता हूं तो मैं अक्सर वाई-फाई कनेक्टिविटी खो देता हूं। मैंने पाया है कि पहुंचने योग्यता इस मामले में मुझे बहुत मदद नहीं कर रही है। मुझे यकीन नहीं है कि ऐसा इसलिए है क्योंकि स्क्रीन लॉक होने पर पहुंच योग्यता अधिसूचनाएं नहीं आती हैं, या यदि पहुंच योग्यता तेजी से दूर वाई-फाई एक्सेस पॉइंट से सिग्नल की धीमी कमी को संभाल नहीं पाती है, लेकिन परवाह किए बिना मैं नहीं समझ सकता बाहर असली दुनिया परीक्षण आदर्शीकृत मामले से मेल नहीं खाता है।
यह मेरा कोड जैसा दिखता है। मैं पहली बार सूचनाएं प्राप्त है, और गम्यता को सुन शुरू करने के लिए की स्थापना:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// check for internet connection
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(checkNetworkStatus:)
name:kReachabilityChangedNotification object:nil];
// Set up Reachability
internetReachable = [[Reachability reachabilityForInternetConnection] retain];
[internetReachable startNotifier];
....
return YES;
}
और फिर, इस समारोह है कि संपर्क में परिवर्तन का जवाब है:
- (void)checkNetworkStatus:(NSNotification *)notice {
// called after network status changes
NetworkStatus internetStatus = [internetReachable currentReachabilityStatus];
switch (internetStatus)
{
case NotReachable:
{
NSLog(@"The internet is down.");
break;
}
case ReachableViaWiFi:
{
NSLog(@"The internet is working via WIFI");
break;
}
case ReachableViaWWAN:
{
NSLog(@"The internet is working via WWAN!");
break;
}
}
}
अधिसूचना भले ही एप्लिकेशन के माध्यम से आ पृष्ठभूमि में है, लेकिन वे उपरोक्त वर्णित वास्तविक दुनिया परीक्षण में नहीं हैं।
किसी भी मदद के लिए धन्यवाद।
क्या आपने 'पहुंच योग्यता के लिएInternetConnection' और' accessabilityForLocalWifi' के संयोजन की कोशिश की है? –
क्या आपको इसके लिए कोई समाधान मिला? मुझे एक ही समस्या का सामना करना पड़ रहा है, और यहां समाधान मदद नहीं करते हैं या जो मैं ढूंढ रहा हूं वह नहीं है। – newenglander
मुझे नहीं पता कि मैंने कभी भी अपनी विशिष्ट समस्या हल की है, क्योंकि मुझे हाल ही में उस परियोजना पर काम करने की आवश्यकता नहीं है। क्या आपने यह सुनिश्चित किया है कि ऐप पृष्ठभूमि पृष्ठभूमि के साथ पृष्ठभूमि में चल रहा है, प्रति @ हर्डन की सिफारिश? –