2012-08-14 10 views
13

मेल ऐप जैसे कई अनुप्रयोगों में, यदि डिवाइस हवाई जहाज मोड में है, तो एक अधिसूचना पॉप अप हो जाएगी जो कहती है "एयरलाइन मोड बंद करें या डेटा तक पहुंचने के लिए वाई-फाई का उपयोग करें । ""हवाई जहाज मोड बंद करें" अधिसूचना

मैंने सोचा कि अगर मेरा ऐप इंटरनेट तक पहुंचने का प्रयास करता है तो यह स्वचालित रूप से लागू किया जाएगा, लेकिन ऐसा नहीं है। क्या ऐसा करने के लिए कोई विशेष तरीका है, या यदि नहीं, तो मैं यह कैसे जांच सकता हूं कि डिवाइस हवाई जहाज मोड में है या नहीं, इसे अक्षम करने के लिए सेटिंग्स को एक लिंक प्रदान करें?

उत्तर

20

आप अपने Info.plist को UIRequiresPersistentWifi कुंजी जोड़ सकते हैं और YES के लिए सेट है, तो अगर आप हवाई जहाज मोड में हैं, तो आप मानक लांच पर पॉपअप मिल जाएगा "हवाई जहाज़ मोड बंद ..."।

+1

2016 तक, यूआईआरक्वर्सपेर्सिस्टेंट वाईफ़ाई ऐप सेटिंग्स जानकारी अनुभाग में "एप्लिकेशन वाई-फाई का उपयोग करता है" में बदल गया है। –

0

this पर एक नज़र डालें। जाहिर है, Airport control was moved by Apple into a separate framework

ऐसा लगता है कि उपयोगकर्ता को हवाई जहाज मोड को चालू करने के लिए सूचित करने का कोई मानक तरीका नहीं है। जैसा कि आपने बताया है, यह स्पष्ट रूप से बहुत ही सुरुचिपूर्ण नहीं है, इसलिए मुझे लगता है कि सेब ने इस सुविधा को हटा दिया है।

+0

यह 200 9 से है और सभी प्रकार के बैकडोर्ड्स का उपयोग करता है। मुझे संदेह है कि असली जवाब "कोई रास्ता नहीं" है। मुझे इस पर 3 साल की तरह एक बग मिला है - मुझे लगता है कि ऐप्पल ने इसे डुप्लिकेट किया है। –

+0

खैर मेरा मतलब है कि मुझे लगता है कि यह अभी भी काम करता है, भले ही यह बहुत ही सुरुचिपूर्ण नहीं है। – Imirak

2

जब आप ऐप लॉन्च नेटवर्क कनेक्टिविटी की जांच के लिए लॉन्च करते हैं तो आप सेब की पहुंच क्षमता फ्रेमवर्क का उपयोग कर सकते हैं।

http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html

मैं reachbiltiy एपीआई के लिए एक आवरण वर्ग को अधिक आसान उपयोग करने के लिए करना है बाहर इस जाँच करें। (ASIHTTPRequest में भी एक है)।

https://github.com/daltoniam/GPHTTPRequest

कनेक्टिविटी की जांच के लिए GPReachablity वर्ग देखते हैं। जहां तक ​​एक संवाद संकेत है, सुनिश्चित नहीं है कि सेटिंग ऐप पर धक्का देने का कोई तरीका है। कोई प्रश्न, मुझे बताइये।

+0

ऐसे मामले हैं जब स्वागत है लेकिन कोई इंटरनेट कनेक्टिविटी नहीं है और यह एक हवाई जहाज मोड के रूप में गलत सकारात्मक होगा। यदि आप ऐप्पल के बाजार के लिए नहीं विकसित कर रहे हैं तो आप निजी एपीआई का उपयोग कर सकते हैं: http: // stackoverflow।सिग्नल शक्ति प्राप्त करने के लिए com/a/31583945/4260691 और अब जब कोई ईवेंट निकाल दिया जाता है तो आप NotReachable मामले में सिग्नल शक्ति की जांच कर सकते हैं। अगर संकेत शक्ति शून्य है तो यह 100% हवाई जहाज मोड है। – OhadM

4

मैं अपने ऐप में परीक्षण करता हूं। मुझे लगता है कि यह बदल गया। "UIRequiresPersistentWifi" => "एप्लिकेशन वाई-फाई का उपयोग करता है"। मुझे उम्मीद है कि यह किसी की मदद करेगा।

xCode Target Properties

+0

2016 तक यह सबसे अद्यतित उत्तर लगता है। –

2

आप मानक हवाई जहाज मोड या एक्सेस डेटा के लिए उपयोग वाई-फाई [सेटिंग बंद करें चाहते हैं | ठीक]

  1. शीर्ष पर + चिह्न पर क्लिक करके अपने info.plist में एक नया संपत्ति जोड़ें।
  2. नई संपत्ति कहा जाता है UIRequiresPersistentWiFi (यह ऊपर पोस्टिंग के समान है, लेकिन सटीक होने की जरूरत है, अन्यथा यह रजिस्टर नहीं है) NO से YES
  3. -StringBoolean
  4. को बदलें मूल्य से
  5. प्रकार बदलें अपने ऐप को साफ और पुनर्निर्माण करें
संबंधित मुद्दे