1、介绍
在App的开发中,App之间的相互跳转启动频频出现。这也是最近开发中常见的要求。怎么达到要求呢?请跟我往下看。。
2、做准备
想要在网页端唤起App。首先,你必须在App 中设置有 URL Schemes 。设置的位置如下图所示:
我们本次demo 就使用上图的 URL Schemes 为 “ WebCallApp”。
3、我们找到我们工程的AppDelegate.m 文件,并写下该方法,如下:
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options;
在写该方法的时候有需要注意的地方,在代码中已经标示出来
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{ if (url) { /** 第一种>> 在网页上打开App 作用:只是打开App 使用方法》 在网页里的调用代码如下:: WebCallApp:// 第二种>> 在网页上跳转到指定的页面 作用: 某个页面的跳转 使用方法》 在网页里的调用代码如下:: WebCallApp://togo=AAAXXX AAAXXX 的介绍: 1、AAAXXX 肯定是一个字符串 2、可以是一个JSON 串 3、也可以是一个单一的只表示一个对象的标示名字 */ /** 举例子: 跳转到“风情*紫女”的页面 给 “风情*紫女” 页面,规定一个标示 fqznVC */ NSString * acceptUrl = [url.absoluteString componentsSeparatedByString:@"togo="].lastObject; /** 发起通知 */ [[NSNotificationCenter defaultCenter] postNotificationName:@"jumpVc" object:@{@"Vc":acceptUrl}]; /** 请注意: 跳转到指定的页面,这里要求App 必须处于启动状态。否则就是打开App,不发生跳转 如果真的要显示指定的页面,那就把指定的页面设置成 rootController 。 */ } return YES; }
4、调用演示
1》 唤起App
WebCallApp://
2》 跳转到指定的页面
WebCallApp://togo=fqznVC