本文共 1804 字,大约阅读时间需要 6 分钟。
在 targets -> app - >info -> URL Types
上添加一个 item
Identifier建议采用反转域名的方法保证该名字的唯一性,比如com.yourCompany.yourApp
URL Schemes理论上随便填什么都可以,比如iOSDevApp
在浏览器中输入iOSDevApp://,确认后就可以跳转到APP
试验下如果两个 APP 使用同一个URL Schemes,后一个注册URL Schemes的APP会被启动,APP安装后就会注册URL Schemes。
当使用第三方的平台分享或者登陆的时候,使用appkey作为URL Schemes的原理是什么,不可能说新浪需要注册N个URL Schemes提供给我们用。
NSString *customURL = @"iOSDevTips://?token=123abct®istered=1";- (BOOL)application:(UIApplication*)application openURL:(NSURL*)urlsourceApplication:(NSString*)sourceApplication annotation:(id)annotation{// Check the calling application Bundle IDif([sourceApplication isEqualToString:@"com.xxx.xxxx"]){NSLog(@"Calling Application Bundle ID: %@", sourceApplication);NSLog(@"URL scheme:%@", [url scheme]);NSLog(@"URL query: %@", [url query]);returnYES;}elsereturnNO;}Calling Application Bundle ID: com.3Sixty.CallCustomURLURL scheme:iOSDevTipsURL query: token=123abct®istered=1
- (void)webView:(WKWebView *)webViewdecidePolicyForNavigationAction:(WKNavigationAction *)navigationActiondecisionHandler:(void(^)(WKNavigationActionPolicy))decisionHandler{if(webView != self.webView) {decisionHandler(WKNavigationActionPolicyAllow);}UIApplication *app = [UIApplication sharedApplication];NSURL *url = navigationAction.request.URL;if(!navigationAction.targetFrame) {if([appcanOpenURL:url]) {[appopenURL:url];decisionHandler(WKNavigationActionPolicyCancel);}}if([url.schemeisEqualToString:@"shopman"]){if([appcanOpenURL:url]){[appopenURL:url];decisionHandler(WKNavigationActionPolicyCancel);}}decisionHandler(WKNavigationActionPolicyAllow);}
原文链接:https://www.jianshu.com/p/c030f57776eb
转载地址:http://ojznb.baihongyu.com/