iOS越狱开发环境搭建theos

1:安装 macports

我之前电脑没设密码安装不成功,后面设密码就可以正常安装,因为安装过程中会提示你输入密码

参考我转载的文章  Mac中MacPorts安装和使用


2:安装DPKG

在你电脑终端里输入命令“sudo port -finstalldpkg”,在我本本上安装很快,但在一体机上安装很久,这个主要是用来打包成.deb文件用了。安装后最好重启下(官方是说要重启了)


3:安装theos

Theos是一个基于Make的编译环境,我们正是用它来编译生成deb文件的。

从该网站下载https://github.com/DHowett/theos,然后解压到你的保存目录下。

配置环境变量  export THEOS = /opt/theos 参考第5步的配置变量方法


4:下载安装IOSOpenDev

这中间可能会安装失败,可以参考https://github.com/kokoabim/iOSOpenDev/wiki/Troubleshoot自己查找原因


5:还不能正常编译,你需要动态编译环境才能正常编译你的工程

可以参考这篇文章https://github.com/kokoabim/iOSOpenDev/wiki/Setup-Explained


~/.bash_profile~/.bash_login or ~/.profile.这3个文件你在你电脑中看是否能找到,我是找到~/.bash_profile这个文件,然后设置下面的环境变量

  • exportiOSOpenDevPath=/opt/iOSOpenDev
  • exportiOSOpenDevDevice= Intentionally a blankvalue. The user needs to manually add the value of the host name(e.g. MyiPhone.local) or IP address (e.g. 192.168.1.101) of thedevice used for development.
  • exportPATH=/opt/iOSOpenDev:$PATH
  • exportPATH=/opt/local/bin:$PATH ForMacPorts.
  • exportPATH=/opt/local/sbin:$PATH ForMacPorts

 

比如我的是这样


然后还需要修改Xcode文件的配置文件,参考我上面说的文章。


6:在你的手机设备安装OpenSSH

在设备上安装OpenSSH并且在设备上添加SSH签名.在Cydia(别告诉我你设备没越狱…)里搜索OpenSSH安装.建议更改SSH的默认密码,默认密码是:alpine.更改方法是在Mac上登陆设备的SSH.命令”sshroot@<设备IP>”.登陆后输入命令”passwdroot”.输入新密码,注意是密文.

给SSH添加签名,在Mac的Terminal里输入”iosodsshkey -h<设备IP>”,中间问你是否继续,当然yes.如果期间失败了重新试下.我失败了好几次.可能是设备屏幕关闭会断网(我的iPodTouch总断,iPad就不会).这样就不用密码也可以登陆设备SSH了.


然后就可以建工程,

 

为了方便的调试,还要在工程里设置一些参数.这里介绍下这些参数的意义.首先打开程序设置TARGETS里的工程

  1. iOSOpenDevCopyOnBuild布尔值YES/NO 默认是NO,是否把生成的可执行文件拷贝到/var/root/iOSOpenDevBuilds/[projectname]/[executablename] 路径下.是为了方便那些远程SSH控制的程序,可能暂时用不到.
  2. iOSOpenDevDevice设置你设备的IP.
  3. iOSOpenDevInstallOnProfiling布尔值 默认为YES, 是否在build for profiling的时候直接远程安装到设备上.
  4. iOSOpenDevPath不要修改此项,是iOSOpenDev的安装路径.
  5. iOSOpenDevRespringOnInstall布尔值 默认为YES,是否在安装后重启SpringBoard.

 

iOSOpenDev默认安装在/opt/iOSOpenDev里,在里面可以找到undocumentapi的头文件.

编译的时候不能像正常的App点Run,点击Product->BuildFor->Build ForProfiling.配置好上面的设备IP,程序会自动安装到设备里.



最后还需要个真机调试

首先你的手机设备安装下列插件


Core Utilities
CoreUtilities(/bin)
diskdev-cmds
file-cmds
system-cmds
Mobileterminal
openSSH
sshpass
toggle ssh
preferencdloader
substrate safemode
syslogd to/var/log/syslog

 

在你的手机终端(Terminal)上建个命令 tail-f/var/log/syslog,就是说终端上运行的Log会打印到var/log/syslog上。接着还需要在你的手机目录var/log上建个常规文件syslog来保存日志,记住类型是常规文件,访问权限最好设成读取,写入,执行。让你的syslog文件很大时,可以删掉然后重新在建,但必须重启手机才能生效

你可能感兴趣的:(iOS越狱开发环境搭建theos)