theos就是一套越獄開發工具包
export theos=/opt/theossudo git clone $theos
sudo brew install ldid2.3 生成libsubstrate.dylib庫sudo chmod 777 /opt/theos/bin/ldid
sudo /opt/theos/bin/bootstrap.sh substrate
sudo chmod 777 /opt/theos/bin/dpkg-deb如果想自定義模板,看這個教程 :
3.1 在終端輸入以下命令可以看到
3.2 這裡我們做乙個最簡單的栗子,每個應用啟動時都會彈出乙個uialertview
根據步驟3.1的命令,然後我們選擇9,然後根據提示輸入
(1)輸入你的工程的名字(project name,必選項),此處我們工程的名字是iosregreetings建立完成後,如下目錄顯示(2)輸入包名(package name),包名的命名規則一般是你們公司網域名稱的到這寫,如: com.victor.iosregreetings;切記:包名一定要小寫,如果在使用
make package
時發生錯誤,請看這裡
3.3 修改tweak.xm檔案
%hook
springboard
%orig
; uialertview *alert = [[uialertview alloc] initwithtitle:@"come to for more fun!" message:nil delegate:self cancelbuttontitle:@"ok" otherbuttontitles:nil];
[alert show];
[alert release]; }
%end
3.4 修改makefile檔案
注意:第一行export theos_device_ip = 10.18.136.168
這個ip,是你的越獄iphone連線的wifi ip位址
export theos_device_ip = 10.18.136.168
export archs = armv7 arm64
export target = iphone:clang:latest:8.0
include theos/makefiles/common.mk
tweak_name = iosregreetings
iosregreetings_files = tweak.xm
iosregreetings_frameworks = uikit
include $(theos_make_path)/tweak.mk
after-install::
install.exec "killall -9 springboard"
3.5 修改control檔案
package: com.victor.iosregreetings
name: iosregreetings
depends: mobilesubstrate, firmware (>= 8.0)
version: 1.0
architecture: iphoneos-arm
description: this is my first tweak project , very ******!
maintainer: victor
author: victor
section: tweaks
homepage:
3.6 打包,並安裝到iphone
cd iosregreetings/make package install
make package install
其實是這三種命令的組合make
、make package
和make install
然後解開鎖後,開啟cydia應用,你會看到你剛才開發的應用
4.1 說明tweak.xm檔案,檔案的內容都是logos語言,這裡有wiki解釋
我們這裡只用了幾種常用的,分別解釋如下
%hook 指定需要hook的類名,以%end結尾4.2 說明makefile檔案,指定一些frameworks和libraries%log 用來列印log的,將資訊輸入到syslog中,如%log((nsstring *)@」victor」)
%orig 執行被hook函式的原始函式,類似於oc的語法: [super method]功能
%group 該指令用於%hook的分組,%group後邊跟的是組名,%group也是必須以%end結尾,其中可以包含多個%hook
%init 該指令用來初始化某個%group,乙個group只有被初始化後才可生效,init必須在hook中進行執行。
%ctor tweak的構造器,用來初始化,如果不顯式定義,theos就會自動生成乙個%ctor,並在其中呼叫%init(_ungrouped). 如:%ctor
%new 該指令用來給現有的class新增乙個新的函式。與runtime中的class_addmethod相同。
%c 該指令用來獲取乙個類的名稱,類似於objc_getclass。
1.export theos_device_ip = 10.18.136.168
指定要匯入到越獄裝置ip
2.export archs = armv7 arm64
指定cpu架構,不同的cpu架構用空格分開
3.export target = iphone:clang:latest:8.0
指定sdk版本,latest意思是base sdk使用當前mac os x最新的,8.0表示最低發布版本
4.include theos/makefiles/common.mk
固定模式,別修改此檔案
5.tweak_name = iosregreetings
專案名稱,建立時就指定了,以後別再修改了
6.iosregreetings_files = tweak.xm
tweak專案的原始檔,不能指定標頭檔案,但是可以如下這樣寫
7.iosreproject_files = tweak.xm hook.xm new.x objc.m objc++.mm
4.3 說明control檔案
control檔案中儲存的內容記錄了deb包管理系統所需的基本資訊,會被打包進deb包裡。包含:包唯一識別符號,包名,依賴,版本,架構,描述,作者,主頁等等
4.5 編譯,打包和安裝
編譯以上三條命令合併一條是make
打包 make package
安裝 make install
make package install清除命令
make clean 會刪除專案打包時的檔案rm *.deb 會刪除.deb安裝包
Flask SQLAlchemy的介紹與安裝
1.認識flask sqlalchemy 再來說一下orm優缺點 優點 缺點 2.環境安裝 pip install flask sqlalchemy方案1 安裝 mysqlclient依賴包 如果失敗再嘗試方案2 pip install mysqlclient方案2 安裝pymysql依賴包 pip...
安卓ios檔案讀寫的存放
1.從bundle中讀取檔案 nsstring path nsbundle mainbundle pathforresource outfile.pcm oftype nil 2.使用沙盒路徑做儲存資料 nsarray paths nssearchpathfordirectoriesindomain...
Zookeeper 介紹及Linux下的安裝
zookeeper 是 apache hadoop 的子專案,是乙個樹型的目錄服務,支援變更推送,適合作為 dubbox 服務的註冊中心,工業強度較高,可用於生產環境。1.zookeeper 在 linux 系統的安裝 安裝步驟 第一步 安裝 jdk 第二步 把 zookeeper 的壓縮包上傳到 ...