是的,您可能在参数中有斜杠(这是因为在 URL 的参数部分开始的问号之后是斜杠。
关于跳过 Mobile Safari 处理附属链接:
您可以设置一个隐藏的 UIWebView 来处理重定向,也可以自己在 URL 加载系统中执行所有这些操作。这是一个隐藏的 WebView:
NSURLRequest *r = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://click.linksynergy.com/fs-bin/click?id=sf2bW7QX/qU&offerid=146261.431296703&type=2&subid=0"]];
testWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 10, 10)];
testWebView.hidden = YES;
testWebView.delegate = self;
[testWebView loadRequest:r];
代表:
#pragma mark - UIWebViewDelegate
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if ([request.URL.scheme isEqualToString:@"itms"] &&
[[UIApplication sharedApplication] canOpenURL:request.URL]) {
[[UIApplication sharedApplication] openURL:request.URL];
return NO;
}
return YES; // go on redirecting
}
testWebView
需要是一个实例 var 并且视图控制器本身需要是一个<UIWebViewDelegate>
. -dealloc
您还需要在某处(例如 in )将 webview 委托设置为 nil