我是靠谱客的博主 震动花瓣,最近开发中收集的这篇文章主要介绍APP之间的跳转APP之间的跳转,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

APP之间的跳转

一、摘要

点击某个App内链接时,可以跳转到另外一个App,主要使用UIApplication和scheme

 

二、基础知识预备

网址的构成:

e g:http://www.baidu.com/1.png?pwd=123

 OC中使用    url.scheme 获取url的协议 http

          url.host 获取主机名 www.baidu.com

          url.relativePath 路径 1.png

          url.query 获取参数 pwd=123

 

三、设置App的URL schemes(非常重要)  

 

四、设置跳转

在Qunaer项目里面的ViewController.m

- (IBAction)jump:(id)sender {
    //使用openURL方法跳转
    //1.创建地址对象
    NSURL *url = [NSURL URLWithString:@"Zhifubao://Qunaer"];
    [[UIApplication sharedApplication] openURL:url options:nil completionHandler:nil];
}

 

五、设置跳回原App

在AppDelegate.m中的- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options方法中实现:

Zhifubao项目的AppDelegate.m

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{
    //外部程序跳转过来 就会触发这个方法
    /*
     http://www.baidu.com/1.png?pwd=123
     url.scheme 获取url的协议 http
     url.host 获取主机名 www.baidu.com
     url.relativePath 路径 1.png
     url.query 获取参数 pwd=123
     */
    NSString *scheme = url.host;
  //解析网址
    NSURL *u = [NSURL URLWithString:[NSString stringWithFormat:@"%@://", scheme]];
    
    [[UIApplication sharedApplication] openURL:u options:nil completionHandler:nil];
    
    return  YES;
}
    //解析网址
    NSURL *u = [NSURL URLWithString:[NSString stringWithFormat:@"%@://", scheme]];
    
    [[UIApplication sharedApplication] openURL:u options:nil completionHandler:nil];
    
    return  YES;

 注意:这里的return 返回yes是尽可能跳转成功,no则是跳转失败

 

posted @ 2019-03-05 20:04 健泽 阅读(...) 评论(...) 编辑 收藏

最后

以上就是震动花瓣为你收集整理的APP之间的跳转APP之间的跳转的全部内容,希望文章能够帮你解决APP之间的跳转APP之间的跳转所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部