2008-12-03 14 views
13

आईफोन एसडीके में मुझे एसएसआईडी नाम प्राप्त करने के लिए मैक ओएस एक्स पर प्रयुक्त SCDynamicStore नहीं दिखाई देता है जो कि आपका वायरलेस नेटवर्क वर्तमान में कनेक्ट नहीं है।क्या आईफोन एसडीके वर्तमान में कनेक्ट वाई-फाई एसएसआईडी प्राप्त कर सकता है?

क्या एसएसआईडी नाम प्राप्त करने का कोई तरीका है जिसे आईफोन वर्तमान में कनेक्ट किया गया है?

मुझे लगता है कि कुछ ऐप्स इसे करते हैं (Easy Wi-Fi for AT&T एक के लिए) लेकिन मुझे नहीं पता कि यह आईफोन एसडीके दस्तावेज़ों में कैसे किया जाता है। अवधारणा के सबूत के रूप में एक निजी या अप्रकाशित विधि स्वीकार्य होगी (हालांकि मुझे पता है कि संभवतः यह ऐपस्टोर तक नहीं पहुंच पाएगा)।

उत्तर

6

चारों ओर खोदने के बाद मुझे इसका जवाब मिला। प्राथमिकता ढांचे में अप्रकाशित एपीआई हैं। इसके उदाहरणों के लिए Google Code पर होस्ट किए गए Stumbler code को देख सकते हैं।

मैंने ऐप्पल (# 6407431/OpenRadar version) के साथ एक रडार दायर किया जिसे # 5814810 के डुप्लिकेट के रूप में चिह्नित किया गया था)। यदि आप इसे आधिकारिक रूप से समर्थित करना चाहते हैं तो कृपया bugreport.apple.com पर एक रडार भी दर्ज करें।

अद्यतन: उपरोक्त स्टंबलर कोड 1.x संशोधन आईफोन ओएस एसडीके के लिए है। आईफोन ओएस 2.0 और डेवलपर्स से परे के लिए निजीफ्रेमवर्क/ऐप्पल 80211.फ्रेमवर्क और सभी का अर्थ है।

4

इस कोड का प्रयास करें,

#import <SystemConfiguration/CaptiveNetwork.h> 

CFArrayRef myArray = CNCopySupportedInterfaces(); 
CFDictionaryRef myDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0)); 
NSDictionary *ssidList = (__bridge NSDictionary*)myDict; 
NSString *SSID = [ssidList valueForKey:@"SSID"]; 
+0

ध्यान देने योग्य बात है कि आप myArray पर एक अशक्त जांच की आवश्यकता होगी – funroll