2016-01-04 53 views
1

我知道無法獲得所有可用的Wi-Fi網絡,並且可以獲取當前連接的Wi-Fi網絡的信息,如果我錯了,請糾正我的錯誤。

我只想知道獲取所有以前連接的Wi-Fi網絡信息的可行性,請分享您的經驗幫助我。

如何在Swift中獲得所有以前連接的Wi-Fi網絡?

僅供參考,
我用下面的代碼獲取當前連接的Wi-Fi網絡的信息和它的正常工作。

var currentSSID: String! 
let interfaces:CFArray! = CNCopySupportedInterfaces() 
for i in 0..<CFArrayGetCount(interfaces) { 
    let interfaceName: UnsafePointer<Void> 
    = CFArrayGetValueAtIndex(interfaces, i) 
    let rec = unsafeBitCast(interfaceName, AnyObject.self) 
    let unsafeInterfaceData = CNCopyCurrentNetworkInfo("\(rec)") 
    if unsafeInterfaceData != nil { 
     let interfaceData = unsafeInterfaceData! as Dictionary! 
     currentSSID = interfaceData["SSID"] as! String 
    } else { 
     currentSSID = "" 
    } 
    print(currentSSID) 
} 
+0

你好你從未接受我的答案我知道爲什麼嗎? – AlexB

回答

1

從股票iPhone這是不可能的設置。您需要的信息存儲在iPhone的鑰匙串中。如果你有權訪問iPhone SDK,如果你喜歡,你可以開始搞亂,但是我會留下它,因爲那將是一個StackOverflow答案。 Source

如果您啓用了ICloud Keychain,則可以獲取該數據。否則,你不能。 Source您可以使用kishikawakatsumi/KeychainAccess或自己動手。 Here is homemade code to save and retrieve keychain values. 這是一個簡單的快速包裝Keychain,適用於iOS和OS X

+0

「iCloud Keychain」:我認爲這種方法只能在越獄iOS設備中使用? 「kishikawakatsumi/KeychainAccess」:這是關於從應用程序保存和檢索密碼。如何使用此功能在iOS設置中訪問已保存的Wi-Fi網絡列表? –

+0

是的,這是正確的 – AlexB

+0

我更新了我的答案,澄清了一些事情。 – AlexB

相關問題