需求
一个App跳转到另一个App
实现
创建俩个Demo,app1和app2,实现app1跳转至app2:
1.app2内配置协议(scheme),名字随意起(一般是项目名倒序,英文),配置完成后需要运行app2,相当于注册了scheme
targets –> info –> URL Types –> URL Schemes –> app2 (不需要写成 app2:// )
2.app1配置白名单(iOS9以后)
info –> LSApplicationQueriesSchemes ->NSArray
3.app1实现跳转代码
|
|
4.跳转到指定界面
1.只需要在”app2://“协议后面的域名添加字段来标记需要跳转的界面
|
|
2.在app2的AppDelete类的.m文件中,监听代理方法,作相应的处理
三个回调的优先级 C>B>A
- (BOOL)application:(UIApplication )application handleOpenURL:(NSURL )url //iOS2.0 A
- (BOOL)application:(UIApplication )application openURL:(NSURL )url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation //iOS4.2 B
- (BOOL)application:(UIApplication )app openURL:(NSURL )url options:(NSDictionary
*)options //iOS9.0 C
12345678910 -(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{NSLog(@"url:%@",url.absoluteString);NSLog(@"host:%@",url.host);if ([url.host isEqualToString:@"more"]) {NSLog(@"进入更多界面");//到此做界面的跳转}return YES;}