cd到tweak工程資料夾 ls -l 檢視工程目錄
makefile中包含工程中用到的檔案、框架、庫等資訊
include $(theos)/makefiles/common.mk
固定寫法,不可改
tweak_name = tweakdemo
tweak的名字,與control中的name相對應,不可改
tweakdemo_files = tweak.xm
包含的原始檔(不包括標頭檔案),多個檔案用都好隔開
(tweakdemo_files = tweak.xm,***.m, ***.mm)
include $(theos_make_path)/tweak.mk
theos的工程型別(建立時所選擇的模板型別, 可按需求更改
after-install::
install.exec "killall -9 swizzlingmethoddemo"
安裝後的說明(tweak安裝後,殺掉原工程程序並載入對應的dylib)
除此之外,我們還需完善makefile檔案資訊
archs = armv7 arm64
配置所相容的框架
target = iphone:latest:8.0
限制可安裝版本 8.0以上
tweakdemo_frameworks = uikit coreaudio coretelephony
匯入使用的framework,多個空格隔開
tweakdemo_private_frameworks = chatkit imcore 匯入的私有framework
tweakdemo_ldflags = -lz -lsqlite3.0 -dylib1.0
新增鏈結的動態庫
2, tweak.xm
tweak.xm是放置hook**的原始檔
%hook為hook函式,修改指定的函式
%log 列印資訊
%orig 呼叫工程原函式或者修改原函式引數並呼叫,不寫不呼叫
%group 將%hook分組,以%end結尾 必須配合%init才能生效
%init 初始化某個分組
%ctor 在該方法呼叫%init方法 不寫預設初始化%group_ungrouped 不需要以%end結尾
%new 在%hook內部給乙個現有的class新增新的函式
%group swizzlinggroup (分組名)
%hook swizzlingmethoddemo(類名)
%new //新新增的方法
- (void)logmessage
%end
- (void) _menubuttondown: (nsstring) down (被hook函式名)
%ctor
%end
%end
3, tweakdemo.plist
4, control
放置deb包的基本資訊 (包名,工程名,版本號,裝置架構,維護人,deb包內容簡述等)
BLE(17) BLE 工程簡述
前面,link layer 敘述了一部分,這裡也聊聊做 ble 的大致的方向,以及做乙個這個東西,大致需要哪些元件 工具等。簡單的聊聊我的認識和看法。見解如有不對,請大神們指正 既然是要做 ble,那麼肯定是先需要熟讀 ble spec,從而了解其的基本特性 物理特性和軟體規範 在每個版本的 cor...
STM32工程建立簡述
stm32韌體庫個資料夾介紹 libraries cmsis cm3 coresupport 子檔案裡面包含啟動檔案 libraries cmsis cm3 devicesupport 子檔案裡面包含 system stm32f10x.c 系統暫存器你定義宣告以及包裝記憶體操作 system stm...
軟體工程學簡述
軟體危機是指計算機軟體的開發和維護過程中所遇到的一系列嚴重問題。考試中名詞解釋或者選擇題為主 1 對軟體開發成本和進度的估計常常很不準確。2 使用者對 已完成的 軟體系統不滿意的現象經常發生。3 軟體產品的質量往往靠不住。4 軟體通常沒有適當的文件資料。5 軟體成本在計算機系統總成本中所佔的比例逐年...