記錄其中的一些坑點。
一、theos下tweak的作用域問題
通過進一步研究introspy的作用域問題 發現 只用添加com.apple.UIKit則對應用級別app生效
但是 對于系統級別的進程 還是無效 所以對于系統級別的應該進一步研究
hook demo中最終的作用域為
二、theos定制版tweak和應用級別tweak的區別
其中hook是theos定制版的app
hook_demo是開發者的app
區別如下:
1:在應用級別是否可刪除 這是表面上的區別
2:theos定制版的app是可以和它的tweak插件綁定在一起的 由于IOS的沙盒機制 即便越獄也無法完全打破
一個沙盒對另一個沙盒的文件最多只能有可讀的權限 不能有寫的權限 即便越獄也是如此(注意,此處是最多)
所以 如果是應用級別的hook_demo,是無法讀tweak插件寫入的sqlite文件的
所以要事先tweak產生log的導入 必須要定制自己的系統級別的應用
3:必須要安裝Respring插件 如上圖
三、preference bundle的實現
https://yohunl.com/ios-yue-yu-de-tweakkai-fa/這里有一種flex嵌入式的applist
可定制化對app的list bundle id的選擇
這三個是層層相扣的
app定制->基于app的插件->基于app的preference bundle
app層:
tweak層
preference bundle層
編譯如下
四、最終實現
這是詳細的log
這是基于每一個app或者說進程的log分類