2013-03-11 5 views
2

웹 뷰에서 키워드 "youtube"를 확인하고 링크에 키워드 "youtube"가 있으면 사파리 대신 앱 웹보기에서 열립니다.이 기능은 작동합니다 올바르게,하지만 내가 만난 문제가있다. YouTube 링크가 https://bitly.com/으로 단축 된 경우 사파리에서 열립니다. 이것을 막을 수있는 방법이 있습니까? youtube를 제외한 다른 모든 키워드에 대해 사파리에서 열려면 https://bitly.com/이 필요합니다.iOS - UIWebView에서 리디렉션 처리

-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType { 
if (inType == UIWebViewNavigationTypeLinkClicked) { 
if ([[inRequest.URL absoluteString] rangeOfString:@"youtube"].location==NSNotFound){ 
     [[UIApplication sharedApplication] openURL:[inRequest URL]]; 
     return NO; 
    } 
} 
return YES; 
} 
+1

에서이 작업을 수행하는 내가 아는 유일한 방법을 원래의 URL을 확장 knowurl 서비스입니다 사용할 수 있습니다. –

답변

1

수동으로 (예를 들어,있는 NSURLConnection를) 리디렉션에 대한 링크를 확인하는 작은 단축 링크

- (BOOL)webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType 
{ 
     @try 
     { 
      BOOL _returnVal = YES; 

      //convert your bitly url to KowUrl if its contains `bit.ly` 

      if (inType == UIWebViewNavigationTypeLinkClicked) 
      { 
       if ([[inRequest.URL absoluteString] rangeOfString:@"youtube"].location==NSNotFound) 
       { 
       [[UIApplication sharedApplication] openURL:[inRequest URL]]; 
       _returnVal = NO; 
       } 
      } 
     } 
     @catch (NSException *exception) 
     { 
     NSLog(@"%s\n exception: Name- %@ Reason->%@", __PRETTY_FUNCTION__,[exception name],[exception reason]); 
     } 
    @finally 
    { 
     return loadedImages; 
    }  
} 
관련 문제