在iosOpenDev之前,很多ios插件都使用theos编译开发,用theos开发比较麻烦,还需要用class—dump导出私有的API;然后自己手写Makefile文件,也没有IDE,还要自己找编辑器,自从出现了iosOpenDev这些东东统统的都被解决了,另外它还会为你的项目打包成一个.deb文件。iOSOpenDev可以在XCode里写越狱的程序,整体和写正常的App差不多.还能自动传送到设备里调试.大大降低了越狱程序的开发。本教程共分为三大部分:一.Mac安装工具,二.ios设备插件安装,三.连接调试
主要参考网站:http://iosopendev.com/
一.Mac安装工具
1. 首先安装MacPorts.MacPorts类似于Ubuntu的aptitude或者python的easyInstall.验证安装的方法是在Terminal里输入port,看看有没这个命令.下载文件和安装方法请参照:http://www.macports.org/install.php
(说明:安装macports的时候,根据自己的系统版本安装下载对应的macPorts进行安装)
2.安装dpkg.在Terminal里输入 “sudo port -f install dpkg”会安装很长时间的,让他自己慢慢装就行了.这个是把程序打包成.deb文件用的.
官方说需要reboot,但是我没重启也可以,建议重启.
3.安装iOSOpenDev 下载,最好是在dpkg安装完毕后安装,否则可能会出一些未知问题.其他的都默认就行,”Dump SDK Header Files”这项默认是没选上的,最好选上,这个是用来提取私有API的头文件的。这中间可能会安装失败,可以参考https://github.com/kokoabim/iOSOpenDev/wiki/Troubleshoot
自己查找原因。(说明:安装iOSOpenDev 的时候,根据自己的系统版本和Xcode的版本下载对应的iOSOpenDev 进行安装)
安装成功后打开Xcode会看到如下界面:
到此你就可以建立自已的第一个程序:Hello World
二.ios设备需要安装的插件:(以下是需要在越狱设备上边的安装的插件)
最后还得有个真机进行调试,首先你的设备需要安装下列插件:
Core Utilities
CoreUtilities(/bin)
diskdev-cmds
file-cmds
system-cmds
Mobileterminal
openSSH
sshpass
toggle ssh
preferenceloader
substrate safemode
syslogd to /var/log/syslog
4. 在设备上安装OpenSSH并且在设备上添加SSH签名.在Cydia里搜索OpenSSH安装.建议更改SSH的默认密码,默认密码是:alpine.更改方法是在Mac上登陆设备的SSH.命令”ssh root@<设备IP>”.登陆后输入命令”passwdroot”.输入新密码,注意是密文.
5. 给SSH添加签名,在Mac的Terminal里输入” iosod sshkey -h <设备IP>”,中间问你是否继续,当然yes.如果期间失败了重新试下.我失败了好几次.可能是设备屏幕关闭会断网。这样就不用密码也可以登陆设备SSH了.
三.连接调试:
为了方便的调试,还要在工程里设置一些参数.这里介绍下这些参数的意义.首先打开程序设置TARGETS里的工程
1、iOSOpenDevCopyOnBuild布尔值YES/NO 默认是NO,是否把生成的可执行文件拷贝到/var/root/iOSOpenDevBuilds/[project name]/[executable name] 路径下.是为了方便那些远程SSH控制的程序,可能暂时用不到.
2、iOSOpenDevDevice设置你设备的IP(例如:192.168.1.10).
3、iOSOpenDevInstallOnProfiling布尔值 默认为YES, 是否在build forprofiling的时候直接远程安装到设备上.
4、iOSOpenDevPath不要修改此项,是iOSOpenDev的安装路径.
5、iOSOpenDevRespringOnInstall布尔值 默认为YES,是否在安装后重启SpringBoard.
6、iOSOpenDev默认安装在/opt/iOSOpenDev里,在里面可以找到undocumentapi的头文件. 如图:
编译的时候不能像正常的App点Run,点击Product->Build For->Build For Profiling.配置好上面的设备IP,程序会自动安装到设备里.
接下来就开始写个越狱程序试试吧!