现在的位置: 首页 > 综合 > 正文

关于ios如何扫描wifi热点

2018年02月14日 ⁄ 综合 ⁄ 共 2334字 ⁄ 字号 评论关闭

关于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

抱歉!评论已关闭.