2009-10-26 15 views
11

मेरे एप्लिकेशन इंटरनेट एक्सेस करता है और मैं सिर्फ या तो वाईफ़ाई के माध्यम से या कैरियर डेटा नेटवर्क के माध्यम से या नहींiPhone SDK वाईफ़ाई और कैरियर नेटवर्क का पता

सेब है कि "पहुँचता" के लिए एक उदाहरण बना दिया है एक कनेक्शन है कि क्या पता लगाने के लिए चाहते हैं

https://developer.apple.com/iphone/library/samplecode/Reachability/

मैं यह सिर्फ वाईफाई और नहीं वाहक नेटवर्क का पता लगने लगता है

किसी को भी मुझे बता सकते हैं, क्या सबसे अच्छा वहाँ एक कनेक्शन (कनेक्शन के किसी भी प्रकार है कि अगर पता लगाने के लिए किया जा सकता)

आपकी मदद की सराहना करें!

+1

यह थोड़ा पुराना है। टोनी मिलर द्वारा रीचैबिलिटी का एक नया संस्करण है, जिसका मैंने उपयोग किया है [यहां] (https://github.com/tonymillion/Reachability) –

उत्तर

13

वह नमूना बिल्कुल वही है जो आपको चाहिए।

Reachability.m देखें। यह आपको बताएगा कि आपके पास कोई कनेक्शन है, और फिर आपको बताएगा कि आपके पास किस प्रकार का कनेक्शन है।

+1

अपने प्रश्न को अधिक विशेष रूप से संबोधित करने के लिए: पहुंच योग्यता कोड * किसी * प्रकार का कनेक्शन पता लगाएगा , सिर्फ वाईफाई नहीं। आपको बस अपनी परियोजना में रीचैबिलिटी क्लासेस आयात करना है, फिर रीचैबिलिटी ऑब्जेक्ट को तुरंत चालू करें और वहां से जाएं। – Tim

9

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

स्रोत कोड के एक स्निपेट के लिए आपको बिल्कुल बताया गया है कि आप कनेक्ट हैं या नहीं, और आप किस प्रकार के कनेक्शन का उपयोग कर रहे हैं, तो आप here पोस्ट किए गए एक समान प्रश्न के मेरे उत्तर को देखना चाहेंगे।

3

एक बार जब आप किसी भी वेब संसाधन के लिए अनुरोध करते हैं, तो आईफोन किसी भी कनेक्शन का उपयोग करता है, यह वाईफाई (उच्च प्राथमिकता के रूप में) का उपयोग करता है, और अगर वाईफाई कनेक्ट नहीं है तो यह वाहक नेटवर्क का उपयोग करता है। कैरियर नेटवर्क को रोकने वाले कोड कोड नहीं हैं। परीक्षण स्थल पर

  • चेक संकेत:

    आपको बस इतना करना है

  • यह सुनिश्चित करने के लिए कि आप जिस ऐप में समस्या रखते हैं, उसे सुरक्षित रखने के लिए आप जिस लिंक को सफारी पर पहुंचने का प्रयास कर रहे हैं उसे जांचें।
  • यदि लिंक
+0

यह उत्तर iampathik के लिए है –

2

इन तकनीकों में उपयोगी होते हैं (वाहक नेटवर्क का उपयोग कर यह सुनिश्चित करें के लिए) सफारी पर काम नहीं कर रहा अपने कैरियर से समर्थन से संपर्क करें, लेकिन है कि इंटरनेट के लिए डिवाइस के पथ कई अलग अलग से मिलकर बनता है हो सकता है को ध्यान में रखना कनेक्शन के प्रकार। उदाहरण के लिए, एक आईफोन या आईपॉड टच मोबाइल हॉटस्पॉट से कनेक्ट करने के लिए वाईफाई का उपयोग कर सकता है, जिसके बदले में इसका अपना 3 जी वायरलेस कनेक्शन है। तो यह मानना ​​सुरक्षित नहीं है कि वाईफाई कनेक्शन की उपस्थिति 3 जी की तुलना में उच्च बैंडविड्थ का तात्पर्य है।

0

पहुंच योग्यता (ऐप्पल के नमूना कोड, और अन्य लोगों के समान कोड, और अंतर्निहित एससीनेटवर्क रीचैबिलिटी आपको या तो बताएगी कि इंटरनेट एक्सेस नहीं है, या आपको वाईफाई के माध्यम से इंटरनेट का उपयोग मिलेगा, या आपको इंटरनेट एक्सेस मिलेगा मोबाइल डेटा

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

वाईफ़ाई उपलब्ध गारंटी नहीं देता है कि डाउनलोड वाईफ़ाई का उपयोग करेगा, न कि मोबाइल डेटा। आप घर पर एक डाउनलोड शुरू कर सकते हैं, एक मिनट बाद छोड़ दें, वाईफाई गायब हो जाएगा, और आईओएस खुशी से 3 जी के माध्यम से डाउनलोड जारी रखेगा। आप 3 जी को अस्वीकार करने के लिए डाउनलोड कॉल में ध्वज सेट कर सकते हैं। त्रुटि कोड -1009 = कोई इंटरनेट एक्सेस नहीं होगा, कोई उल्लेख नहीं है कि 3 जी उपलब्ध होगा।

आप पता कर सकते हैं कि आप एक डिवाइस सकता है मोबाइल डेटा है पर कर रहे हैं (नहीं एक आइपॉड टच या iPad मोबाइल डेटा के बिना, और वहाँ डिवाइस में एक सिम है) CTTelephonyNetworkInfo का उपयोग करना।

संबंधित मुद्दे