2012-10-15 26 views
0

我想開發簡單的調整掛鉤uitextfield或uitextview。我的代碼如下無法掛接UITextfield類通過他們

%hook UITextView 

-(id)initWithFrame:(CGRect)frame webView:(id)view 
{ 
    UIAlertView *keyAlert = [[UIAlertView alloc] initWithTitle:@"testApp" message:@"Test" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; 
    [keyAlert show]; 
    [keyAlert release]; 

    return %orig; 
} 
%end 

它的執行成功,但我無法獲得任何輸出。請檢查這個調整,並幫助我,並請建議我,如果我走在任何錯誤的方向。

謝謝。

回答

2

有兩件事情,你可能是錯在這裏做:

1)的UITextView不一定調用該方法的初始化;它可能調用 -initWithFrame:,-initWithFrame:font:或-initWithFrame:webView :(甚至只是-init,稍後將設置框架)。你應該鉤住所有的案件,看看你是否得到任何結果和他們中的哪一個。

%hook UITextView 
-(id)initWithFrame:(CGRect)frame 
{ 
    %log; // conveniently NSLogs self,selector,arguments 
    return %orig; 
} 
-(id)initWithFrame:(CGRect)frame font:(UIFont *)font 
{ 
    %log; 
    return %orig; 
} 
-(id)initWithFrame:(CGRect)frame webView:(UIWebView *)webView 
{ 
    %log; 
    return %orig; 
} 
%end 

2)確保你掛鉤的過程是調用該方法的過程。如果您項目的plist過濾器「com.apple.springboard」,並且您正在測試它到另一個應用程序中,例如「com.apple.mobilesafari」,它不起作用。

+0

感謝您的回覆,如果我想鉤住iPhone的textfield的每個textview不僅意味着跳板,而且我怎麼能做到這一點。並再次感謝您的回覆。 – Raj

+0

和這種問題,我已經面臨掛鉤uikeyboard,如果它的工作只適用於彈簧板,但在內部應用程序像筆記,或在其他iOS應用程序它不工作 – Raj

+0

如果你想鉤住每一個UITextView,你應該過濾「 com.apple.UIKit「代替你的dylib的plist。 –