關於ios如何掃描wifi熱點,網上一搜一大把,看完之後估計你很崩潰,因為所有的文章,其實都來自一處,轉來轉去的毫無新意,很多時候也不能解決問題.
這裡就說一下 我在做掃描時遇到的一些問題.(關於怎麼掃描,自己google吧)
源碼地址: https://github.com/devinshively/wifiAssociate
掃描wifi資訊的參考資料:http://code.google.com/p/uwecaugmentedrealityproject/和http://code.google.com/p/iphone-wireless/
原始碼參考:http://easymorse-iphone.googlecode.com/svn/trunk/iphone.wifiii/
如何安裝ssh: http://osxdaily.com/2011/08/04/ssh-to-iphone/
ipad安裝ssh:
1. 在搜尋網頁面搜 cydia(ipad上)
2. 開啟cydia, 你會看要有個"使用者指南"組,點擊第三個"Openssh Access How - To",
3. 彈出一個協助介面,再點擊第一項 " 1 . install the ...."
4. 此時出現包的詳細頁面,看到右上方的安裝按鈕了麼,安裝即可(之後自動重啟);
通過ssh與ipad建立串連:
1 . 開啟命令視窗(mac 的)
2. 輸入 ssh root@ip (例如 ssh root@192.168.1.148)
3 輸入密碼 (預設的是alpine)
4. 剩下的你就可以遠程操作ipad了
我用的是wifiAssociate,在readme裡面,作者已經說的很清楚了,wifiConnect43 怎麼安裝 移除,我這裡只是做一些詳細的介紹:
程式的匯入:
1. 首先按照說明,編譯好應用程式:Go to Product > Build For > Archiving,
2. 然後開啟程式檔案夾( Right click Products > wificonnect43.app and click "Show in Finder" Right click Products > wificonnect43.app and click "Show in Finder"),
這裡說一下,按照Build For > Archiving,你的產品名稱仍然是紅色的,也就是程式不存在,這時候,你只需選中ios模式,build一個debug版本的就好,然後Show in Finder,再切換到Release-iphoneos檔案夾下即可(別用Debug-iphoneos檔案夾下的哦);
3. 把wifiConnect43.app移動到案頭上
4. 找出你的裝置ip(setting裡有)
5.在你的mac命令視窗下 執行scp -rp ~/Desktop/wifiConnect43.app root@{deviceIP}:/Applications/ (例如scp -rp ~/Desktop/wifiConnect43.app root@192.168.1.148:/Applications/)
6. 輸入密碼(預設的是alpine)
7. 重啟裝置之後.你就看到你的程式了.
關於更新程式:
1 通過ssh串連到ipad(詳見 通過ssh與ipad建立串連)
2 執行 "rm -fr /Applications/wifiConnect43.app"
3. 執行 reboot
4 重新安裝(詳見 程式的匯入:)
補充:
你可能會遇到一些問題:
1. CGBitmapContextCreateImage: invalid context 0x0
諸如類似問題是因為你的ios越獄出問題了(這針該程式而言,如果牽涉到繪圖什麼的,那就另當別論了),這個是不影響的
2. 程式啟動即崩潰(dlopen)
開啟的路徑有兩個
libHandle = dlopen("/System/Library/SystemConfiguration/WiFiManager.bundle/WiFiManager",RTLD_LAZY);//ios
iOS 4.3.3 之前的
libHandle = dlopen("/System/Library/SystemConfiguration/IPConfiguration.bundle/IPConfiguration", RTLD_LAZY);// iOS 5 之後的用(ios6的還不知道,沒看過)
這個問題要根據你系統的版本,選擇不同的路徑
3.
apple80211Scan(airportHandle, &scan_networks, parameters);失敗,scan_networks總是空的
這是因為你把程式裝在使用者應用程式檔案夾下了
因為掃描熱點的api是私人api,只有移動到程式(系統)才能獲得超級許可權,擷取熱點資訊.所以,你不能直接用xcode將程式匯入裝置(那一定是裝在了
程式(使用者)下的);老老實實的用ssh匯入吧
4 . 程式安裝好後,運行即崩潰
你是不是直接用第三方的程式(iTools)直接將程式拖到"程式(系統)"下了(不能直接拖,為什麼,我不太清楚),當然,也有其他安裝方式,例如打個deb報什麼的,修改安裝路徑,不過我還沒搞懂,你可以參考:
http://www.lt163.com/sj/znpc/iPhone/200905/6032.html
http://blog.csdn.net/linqir/article/details/8812889
http://blog.csdn.net/zkdemon/article/details/8003734
http://blog.csdn.net/leonpengweicn/article/details/8585814