
Theos 是一个越狱的开发工具包, 由iOS越狱界知名人士Dustin Howett(@DHowett)开发并分享到GitHub上. THoes与其他越狱开发工具相比,最大的特点是简单:下载安装简单、logos语法简单、编译发布简单.
Theos地址: https://github.com/theos/theos
先决条件:
- 先安装 Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- 再安装 ldid
$ brew install ldid
theos 配置安装
- 设置$THEOS变量
vim ~/.bash_profile 编辑bash_profile文件
在bash_profile 中配置路径

- 克隆Theos到这个目录
$ git clone --recursive https://github.com/theos/theos.git $THEOS
注意:不要忘记递归标志--recursive
,Theos存储库包含子模块,这个标志将为您克隆它们。
如果你忘了这一点, 你可以通过运行更新程序来修复它:
$ $THEOS/bin/update-theos
- 调用theos: nic.pl
如果没有配置上面的环境就调用就需要输入命令:
$THEOS/bin/nic.pl
配置就可以直接输入
nic.pl

Tweak 创建
1. 创建demo文件夹及生成tweak文件


2. 配置ip 和 端口号环境
- 将文件夹拖入subline text打开
通常我们需要在makefile中写入本机 ip 和 端口号
export THEOS_DEVICE_IP=127.0.0.1
export THEOS_DEVICE_PORT=12345

这样比较麻烦, 我们每创建一个demo就需要写入
我们就在 bash_profile 文件中配置

就避免于每次写入了
3. cd 到 demo文件夹 路径下, make编译生成动态库
make

make 的时候没有出错, 就说明编译成功了
生成动态库

在 .theos 隐藏文件下, 如果没有显示, 使用 shift+cmmand+. 查看
make 遇到的问题
- 报 error: active developer path ("/Applications/Xcode-beta.app/Contents/Developer") does not exist

这个是没有指定 Xcode
使用命令
sudo xcode-select --switch /Applications/Xcode.app
/Applications/Xcode.app 直接拖拽xcode到终端中生成路径
- 如果你的xcode10beta版, 则会报错, 说不会生成动态库, 这个你需要换成 xcode9
4. make package 打包

make package 遇到问题
- 报错一 : Error: IO::Compress::lzma
解决方案:
-
1.安装xz
$ brew install xz
$ sudo cpan IO::Compress::Lzma - 改变压缩方式
2.1 修改dm.pl 文件
- 改变压缩方式
vim $THEOS/vendor/dm.pl/dm.pl
注释: use IO::Compress::Lzma;
注释: use IO::Compress::Xz;
注意: 如果使用vim修改, 修改不成功, 提示只读, 没有权限修改, 则可以找到文件, 拖入到xcode中修改后, 再拖入原处替换
dm.pl 文件路径

2.2修改deb.mk 文件
vim $THEOS/makefiles/package/deb.mk
修改为:
_THEOS_PLATFORM_DPKG_DEB_COMPRESSION ?= gzip
如果vim修改不成功, 方法同上
deb.mk路径
/opt/theos/makefiles/package/deb.mk
两个文件修改成功后, 清除缓存
make clean
再删除原来make生成的文件夹

重新 make 编译 --> make package 打包

- 报错二: control file ... miss a package....
说找不到包名

网友评论