Theos介绍
in 工匠篇 with 0 comment and 504 views

Theos介绍

in 工匠篇 with 0 comment

最近由于工作原因,需要了解iOS越狱开发相关的一些技术。之前虽然有接触过iOS开发,不过都是基于苹果公开的API,相对于越狱开发还是一头雾水。于是打开Google,开始找寻我需要的资料。经过一段时间的查阅,发现iOS越狱开发相关的资料实在太少,并且比较杂乱,甚至即使在安装时遇到的问题都要花费很长的时间去搜索解决办法。虽说现在项目已经接近尾声,当初的很多步骤细节已经记得不清楚,不过我还是尽力回顾整理一下,对自己来说是一种知识的巩固,或许还能帮上别人的一点小忙。

开发环境

首先,要开启一段iOS越狱开发之旅的你,最好有一定的Objective-C基础,Objective-C是苹果开发的唯一官方语言,虽说越狱开发也可以采用Lua语言开发的Wax框架,但我相信了解Objective-C总归不是一件坏事。

其次,如果你有一台Mac,那么基本的开发环境以及iOS的SDK都会随着XCode的安装而解决。如果你是一位Linux上的geek,那么你只需要运行这段脚本【点击下载】,就可以安装Toolchain和Theos来完成基本开发环境的搭建。如果你是Windows的fans,那……暂时我还没找到解决办法。

由于我是在Mac上进行的开发,所以下面的内容都是默认在Mac上。

常用框架

iOS越狱开发常用的框架有两个,一个是Theos;

Theos is a cross-platform suite of development tools for managing, developing, and deploying iOS software without the use of Xcode.——iphonedevwiki

Theos是一个跨平台的开发工具套件,用于在没有Xcode的情况下管理、开发、部署iOS软件。——iphonedevwiki

另外一个是iOSOpenDev。

iOSOpenDev is an open-source project that sets up the iOS SDK to allow open development in Xcode of jailbreak-type projects not supported nor allowed by default and provides Xcode templates for building common jailbreak-type projects and the various tools needed for such development.——iphonedevwiki

iOSOpenDev是一个开源项目,它使开发者可以在Xcode中开发默认情况下不支持的越狱项目,并且提供越狱开发中需要的模板和工具。——iphonedevwiki

以上是这两款工具在iphonedevwiki中给出的解释以及我个人的翻译。简单点说,采用Theos开发时需要自己管理makefile文件等,界面没有在Xcode中友好;iOSOpenDev则是基于Xcode创建模板和编译打包,对于不熟悉makefile的同学可能更倾向使用它。不过我本人更喜欢Theos,感觉更高效直观,而且在安装iOSOpenDev时遇到一系列未知错误,好像是和OS X及Xcode的版本相关,所以一直在用Theos,虽然我也不熟悉makefile,活到老学到老嘛:)。

Theos安装及使用

说了这么多,下面开始看下Theos的安装及使用。

从Theos的库中下载框架到本地:

   
git clone https://github.com/DHowett/theos /opt/theos

你可以将其保存在本地的任何位置,不过推荐使用默认的/opt/theos。

除此之外,你还需要安装ldiddpkg,这两个工具是签名和打包时必须的。推荐通过Macports安装dpkg:

sudo port install dkpg

默认的Theos中,很多苹果私有的头文件都没有包含在下载包中,这时推荐下载rpetrich已经打包好的头文件库(当然也可以用class-dump自己去获取),下载好解压在$THEOS/include文件夹下即可。点击下载

这时就可以开始我们的第一个Theos应用了。

这时会提示你输入ssh密码,默认的密码是alpine

Theos默认的要求非常严格,经常会因为warning而报错,无法安装测试。这时在makefile头部添加'GOEASYON_ME=1'即可。

「一键投喂 肥宅快乐水🥤!」

Xiaolei.Tech

谢谢老板,老板大气~

使用微信扫描二维码完成支付

Responses