2012-10-15 4 views
0

uitextfield 또는 uitextview를 연결하기위한 간단한 조정을 개발하고 싶습니다. 내 코드는 아래와 같습니다.theOos를 통해 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

당신이 잘못 여기 일을 할 수있는 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

답장을 보내 주셔서 감사합니다. 텍스트 입력란의 모든 텍스트 뷰를 연결하려는 경우 스프링 판뿐만 아니라 어떻게 할 수 있습니까? 도움이되는 답장을 보내 주셔서 다시 한 번 감사드립니다. – Raj

+0

그리고 이런 종류의 문제는 내가 uikeyboard를 연결하기 위해 이미 직면하고 있습니다. 스프링 보드에서만 작동하지만 메모와 같은 내부 응용 프로그램이나 다른 iOS 응용 프로그램에서는 작동하지 않는 경우 – Raj

+0

모든 UITextView를 후킹하고 싶다면 " com.apple.UIKit "대신에 dylib의 plist에서. –

관련 문제