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;
- }