본문 바로가기
프로그래밍/iOS

webview web 에서 app 으로 데이타 전달하기

by 백룡화검 2011. 11. 29.
간단히 정리하면 웹에서 페이지 이동 요청이 오면 shouldStartLoadWithRequest 가 먼저 호출되는데
특정 규칙의 값이 넘어오면 페이지는 이동하지 않고 앱에서 값을 받아 다른 작동을 하는 것입니다.

<a href="?toapp=login">로그인 뷰로 이동</a>


- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{

NSString *url = [[request URL] absoluteString];

NSArray *urlArray = [url componentsSeparatedByString:@"?"];

NSString *cmd = @"";


if([urlArray count] > 1){

NSString *paramsString = [urlArray objectAtIndex:1];

NSArray *urlParamsArray = [paramsString componentsSeparatedByString:@"&"];

// 파라미터 첫번째 변수가 toapp  경우 앱에 전달되는 명령이다.

if ([[[[urlParamsArray objectAtIndex:0] componentsSeparatedByString:@"="] objectAtIndex:0] isEqualToString:@"toapp"]) {

cmd = [[[urlParamsArray objectAtIndex:0] componentsSeparatedByString:@"="] objectAtIndex:1];

}

}


if ([cmd isEqualToString:@""] == YES) {

return YES;

} else {

// 웹에서 받는 명령 처리

NSLog(@"aaa");

return NO;

}

}