iOS 掃描wifi熱點那些事兒

來源:互聯網
上載者:User

關於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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.