前言

下文撰寫於 2017 年 04 月 30 日,當時的環境是 iOS 10.1.1 越獄、Windows 10。

本文無特別維護,故某些過程可能已不合時宜且有所缺漏,請酌情參考即可。

強烈建議於 macOS 系統下開發蘋果產品之應用程式,以免發生不必要的麻煩與問題。


正文

微軟在 Windows 10 上新增了一個 Beta 功能 —— Bash on Ubuntu on Windows

讓 Linux 的程式能在 Windows 上直接執行。

既然能使用 Bash,就來搭建一個 Theos 開發環境吧。

不過這個功能預設是關閉的,要手動開啟才行。

以下請看圖說故事。


設定 > 開啟開發人員模式

程式和功能 > 開啟或關閉 Windows 功能 > 適用於 Linux 的 Windows 子系統

重新啟動電腦

Win + S 呼叫出搜尋 > 輸入 bash > 執行

安裝 Ubuntu


輸入名稱和密碼




執行開始功能表裡的「Windows 上 Ubuntu 的 Bash」

右鍵 > 內容

調整一下字體,必須設定成中文字體

如果設定成英文字體,下次開啟時會自動跳回細明體


使用 sudo su 指令切換到 root 帳號

輸入剛才設定的密碼

cd 指令為切換目錄指令

使用 cd 指令切換到要安裝 Theos 的資料夾

此處是採用 E:\Tweak\

所以輸入 cd /mnt/e/Tweak

/mnt/ 後面那個小寫字母就是代表哪個槽,注意一定要小寫

安裝 git 程式

apt-get install git


使用 git 程式下載最新版本的 Theos 到剛才指定的資料夾

git clone --depth 1 --recursive https://github.com/theos/theos.git


設定環境變數

export THEOS=/mnt/e/Tweak/theos

此處路徑必須符合剛才指定的資料夾


下載最新版本的 Toolchain

並將 zip 檔放進 theos/toolchain 裡

安裝 unzip 程式

apt-get install zip


切換到 toolchain 資料夾

cd theos/toolchain


解壓縮 Linux 版 Toolchain

小技巧: Tab 鍵可以自動補齊路徑

輸入unzip ios……

再按下 Tab 鍵

檔名就會自動補齊了


下載 iOS 9.2 的 SDK

並將 zip 檔放進 theos/sdks 裡

目前只相容 9.2,編譯 10.1.1 的 tweak 沒什麼大問題。

切換到 sdks 資料夾

cd theos/sdks


解壓縮 SDK


修正 c++

cd /tmp

wget http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.4_amd64.deb

dpkg-deb -x libstdc++6_5.4.0-6ubuntu1~16.04.4_amd64.deb libstdc++

cp libstdc++/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 /usr/lib/x86_64-linux-gnu/

cd /usr/lib/x86_64-linux-gnu/

ln -sf libstdc++.so.6.0.21 libstdc++.so.6

修正 makefile

下載 makefile-fixed-by-yuripe

在 Windows 下解壓縮並覆蓋 theos/makefile 資料夾

切回 Tweak 資料夾

cd /mnt/e/Tweak

安裝 make 程式

apt-get install make



至此,搭建環境完成

接下來試著編譯一個檔案

使用 Theos 新建一個 tweak 專案

$THEOS/bin/nic.pl







cd hello

資料夾名稱會是小寫

使用 make 指令編譯

編譯成功


參考資料:

http://bbs.iosre.com/t/windows-10-theos/7139