首页 > 代码库 > [掌眼]从iPhone UIWebview中打开itunes.apple.com链接启动App Store

[掌眼]从iPhone UIWebview中打开itunes.apple.com链接启动App Store

方法一:适用于App不适用于UIWebView

NSURL *iTunesURL;

// Process a LinkShare/TradeDoubler/DGM URL to something iPhone can handle
- (void)openReferralURL:(NSURL *)referralURL
{
    NSURLConnection *con = [[NSURLConnection alloc] initWithRequest:[NSURLRequest requestWithURL:referralURL]  delegate:self startImmediately:YES];
}

// Save the most recent URL in case multiple redirects occur
// "iTunesURL" is an NSURL property in your class declaration
- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response
{
    iTunesURL = [response URL];
    if([[iTunesURL.host lowercaseString] hasSuffix:@"itunes.apple.com"])
    {
        [connection cancel];
        [self connectionDidFinishLoading:connection];
        return nil;
    }
    else
    {
        return request;
    }
}

// No more redirects; use the last URL saved
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    [[UIApplication sharedApplication] openURL:iTunesURL];
}

方法二:适用于UIWebView

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)_request navigationType:(UIWebViewNavigationType)navigationType {
    NSString *host=[[_request URL].host lowercaseString];if([host hasSuffix:@"itunes.apple.com"])
    {
        [[UIApplication sharedApplication] openURL:[_request URL]];
        return NO;
    }
}

具体效果可扫码测试:

 扫码测试