上篇教學告訴我們如何開啟一個新的專案,
而現在我們要作的是開始寫Tweaks了
首先開啟你的 Tweak.xm
然後把全部內容刪除。XD
底下我們將以我的 NoCameraGrabber 作示範,
來告訴大家基本的使用方式。
在剛剛,我們已經把檔案清空了
所以現在先加入 headers
然後用想的也知道,解鎖畫面的相機圖示一定是 SpringBoard 的一部分,
所以加入的 header 就是:
1 |
#import <Springboard/Springboard.h> |
然後在最後面加上
1 2 3 4 5 6 7 |
%ctor { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; %init; [pool release]; } |
接著,開啟 5.1 版的 SBAwayLockBar.h (如果沒有的話請用 classdump 自己 dump SDK 內容)
會發現有兩個跟 camera grabber 相關的東西:
-(BOOL)showsCameraGrabber
-(void)setShowsCameraGrabber:(BOOL)grabber
所以我們就加入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
%hook SBAwayLockBar -(BOOL)showsCameraGrabber { return NO; } -(void)setShowsCameraGrabber:(BOOL)grabber { [[self.subviews objectAtIndex:1] setFrame:CGRectMake(20,22,280,52)]; grabber = NO; %orig; } %end |
這代表我們要 hook SBAwayLockBar這個類別的函式,
第一個很明顯的就是直接 return NO,讓他不顯示按鈕
第二個則是再設定一次 NO,並且將滑桿的長度調回正常大小。
最後使用 %orig 來讓程式繼續執行它本來正常的功能。
於是這樣就完成了,只要存檔之後編譯,這樣就是一個 Cydia 的 Tweak 了!
發佈留言