前言
Theos 是一款跨平臺(tái)的獨(dú)立于 Xcode 的用于管理,開發(fā),部署 iOS 應(yīng)用的開發(fā)工具,其主要用于越獄 iOS 平臺(tái)的擴(kuò)展(tweaks) 開發(fā)。
安裝
1 選擇 Theos 的安裝路徑,建議安裝在 /opt/theos 路徑下,在終端中輸入如下命令,創(chuàng)建臨時(shí)的環(huán)境變量:
export THEOS=/opt/theos
2 下載最新的版本的 Theos
svn 方式:
svn co http://svn.howett.net/svn/theos/trunk $THEOS
git 方式:
git clone --recursive git://github.com/DHowett/theos.git $THEOS
一定要加上 --recursive 選項(xiàng)這樣才能把 Theos 依賴的模塊都拉取下來
3 添加 Theos 環(huán)境變量到 ~/.bash_profile 中,bash 在啟動(dòng)時(shí)會(huì)加載該腳本,在編寫 Makefile 文件時(shí)便可以直接使用 $THEOS 環(huán)境變量。
如果你使用的其他的終端程序,如zsh,ksh,則啟動(dòng)終端并不會(huì)加載 ~/.bash_profile 腳本,環(huán)境變量不會(huì)生效,應(yīng)該將配置環(huán)境變量的腳本寫在對(duì)應(yīng)終端加載的文件中,詳細(xì)請(qǐng)參考how-to-permanently-set-environmental-variables
export THEOS=/opt/theos
export PATH=$THEOS/bin:$PATH
export THEOS_DEVICE_IP=example.local THEOS_DEVICE_PORT=22
4 由于 Theos 中 沒有綁定 Substrate 庫,所以需要手動(dòng)將 Substrate 配置到 Theos 環(huán)境中。通過 scp 命令將 Substrate 庫從越獄手機(jī)拷貝出來,命令如下:
sudo scp root@iOSIP:/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate $THEOS/lib/
sudo scp root@iOSIP:/Library/Frameworks/CydiaSubstrate.framework/Headers/CydiaSubstrate.h $THEOS/include/
拷貝完后對(duì)著兩個(gè)文件重命名:
sudo mv $THEOS/lib/CydiaSubstrate $THEOS/lib/libsubstrate.dylib
sudo mv $THEOS/include/CydiaSubstrate $THEOS/include/substrate.h
如果沒有將 Substrate 庫配置到 Theos 環(huán)境中或者使用的老版本的 Substrate,使用過程中如果遇到錯(cuò)誤可參考該錯(cuò)誤消息列表。
或者你可以下載包含 Substrate 庫的 deb 包:
wget http://apt.saurik.com/debs/mobilesubstrate_0.9.6011_iphoneos-arm.deb
mkdir substrate
dpkg-deb -x mobilesubstrate_*_iphoneos-arm.deb substrate
sudo mv substrate/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate $THEOS/lib/libsubstrate.dylib
sudo mv substrate/Library/Frameworks/CydiaSubstrate.framework/Headers/CydiaSubstrate.h $THEOS/include/substrate.h
deb 是 Linux 平臺(tái)下文件的一種打包方式。需要使用 dpkg-deb 命令解壓下載的 .deb 文件。如果未安裝 dpkg-deb 命令,可使用 brew 安裝 dpkg-deb,
brew install dpkg,brew 安裝教程
到此 Theos 開發(fā)環(huán)境已經(jīng)配置好了。
參考
Theos Setup
how-to-permanently-set-environmental-variables
歡迎關(guān)注我的簡書,我會(huì)定期做一些技術(shù)分享:)