需求驱动技术,有了新的需求,旧技术无法实现时,就会有新的技术出现。

一般的APP跳转需求有以下几种:

1.  从自己的APP跳转到别人的APP。

2. 从自己的APP跳转系统APP。

3. 让别人的APP调起自己的APP。

这三种跳转的常见操作参考

iOS URL Schemes实现APP之间的跳转

这些是旧的需求,上面一篇文章基本可以涵盖。

在此基础上有了新的需求,基于第二条需求:“从自己的APP跳转系统APP”。升级为从自己的APP打开Safari而不刷新页面。

我们都知道(从上面的文章里也可以看出来),要想打开Safari,就需要通过openURL方法传入地址,才可以打开。而一旦传入地址,Safari就会打开或刷新页面。因此这个方法是行不通的。

但是打开APP并不是说只能通过urlScheme,另一种方法是通过包名打开APP。参考:

如何通过包名打开手机里的APP

这种方式就可以完美的实现打开Safari而不刷新页面。

关于如何获取APP的包名,给出以下几种方式

1. ASO排名能搜到的APP都可以拿到包名,这是App Store上架的APP。

2. 另一种方式是 通过模拟器拿到预装软件的包名。参考:https://github.com/lanvsblue/AppBrowser

以上亲测可行,与君共勉!

iOS 总结APP间跳转的常用以及非常用需求 APP跳转Safari APP跳转APP的更多相关文章

  1. IOS:程序的退出、App间的跳转

    今天在做一个音乐播放器的项目,发现这个点击退出程序的功能不能实现终于找到了一些有用的资料,就去网上看了半天资料,下面是退出程序的代码: 在动画里面可以自己添加一些,动画,达到相应的效果. AppDel ...

  2. iOS - App 间的通信方式

    1.前言 iOS 系统是相对封闭的系统,App 各自在各自的沙盒(sandbox)中运行,每个 App 都只能读取 iPhone 上 iOS 系统为该应用程序程序创建的文件夹 AppData 下的内容 ...

  3. iOS开发之App间账号共享与SDK封装

    上篇博客<iOS逆向工程之KeyChain与Snoop-it>中已经提到了,App间的数据共享可以使用KeyChian来实现.本篇博客就实战一下呢.开门见山,本篇博客会封装一个登录用的SD ...

  4. iOS开发——应用间跳转

    iOS开发过程中,我们经常碰到应用间跳转的情景: 1.使用第三方用户登录,跳转到需授权的App或跳转到分享app的对应页面 *需要用户授权,还需要"返回到调用的程序,同时返回授权的用户名.密 ...

  5. iOS开发,应用间的跳转

    预习:URL由两部分组成-- 1.scheme:协议头(http://  ftp:// 等等) 2.path:路径(URL中path可以没有) 一.简单实现跳转到指定APP(也就是说跳转到的APP必须 ...

  6. App间相互跳转及图片分享

    A-app: Info--URL Types--URL Schemes:A-app(一个标识,允许别的app调用本App) info.plist 添加白名单: LSApplicationQueries ...

  7. Url Scheme实现APP间通信、分享

    代码地址如下:http://www.demodashi.com/demo/12748.html 简介: URL Scheme就是一个可以让app相互之间可以跳转的对外接口.通过给APP定义一个唯一的U ...

  8. 在 App 扩展和主 App 间共享数据

    tags: iOS 8,Swift,App Groups 随着 iOS 8 的发布,苹果为广大开发者很多新的 API,其中最突出显著的就非 App Extension 莫属了.这为开发者们又带来了很多 ...

  9. APP间传递消息

    https://www.jianshu.com/p/d640ccfcea5f 1: URL Scheme 常用的App间传值方式.常见于分享等. 2: Keychain  借助系统类 Keychain ...

随机推荐

  1. v8随心记

    因为node原因,研究v8已经有段时间了,但是一直也没有抽空写点什么,现在想想有好多当时清晰的东西又模糊了.哎,伤心的很啊.但是一时又想不起什么章法,所以只能随手胡乱写了. 下载.编译: https: ...

  2. 终端利用ssh登录远程服务器

    第一步: 安装ssh:yum  install ssh 第二步: 启动ssh服务:service sshd start 第三步: 连接远程服务器: ssh -p 端口号 用户名@ip地址      然 ...

  3. gcc安装(centos)

    gcc 4.8 安装 [root@DS-VM-Node239 ~]# curl -Lks http://www.hop5.in/yum/el6/hop5.repo > /etc/yum.repo ...

  4. 剑指 offer set 18 数组中只出现一次的数字

    题目描述: 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字 思路 1. 思路是先将数组分成两个部分, 两个单个数字分别分到两部分中, 并且数组中其他数字都成 ...

  5. 第十二章:Linux中权限控制实例

    前言 前文对 Linux 中的权限进行了较为透彻的分析.而本文,则在前文的基础上,具体说明如何在代码中进行权限控制. 下面的代码涉及到以下几个方面: 1. 创建文件时设置文件权限 2. 修改文件的默认 ...

  6. URL地址传值型多条件搜索JS

    function ResetSearchVal(objArray) { var strUrl = location.href; ; i < objArray.length; i++) { var ...

  7. js数组和字符串去重复几种方法

    js数组去重复几种方法 第一种:也是最笨的吧. Array.prototype.unique1 = function () { var r = new Array(); label:for(var i ...

  8. js 正则 exec() 和 match() 数据抽取

    js 的正则表达式平常用的不多,但以前抽取数据的时候用到过,主要是有这样的需求: var text='<td class="data">2014-4-4</td& ...

  9. fieldmeta 基于springboot的字段元数据管理,通用代码生成,快速开发引擎

    fieldmeta: 基于springboot的字段元数据管理 version:Alpha 0.0.1 ,码云地址:https://gitee.com/klguang/fieldmeta 元数据(Me ...

  10. 初级Java面试题 – SSM框架篇

    加入我的QQ群(701974765) 获取更多好用又好玩的软件,还有不定期发放的福利呦(- ̄▽ ̄)- Spring的优点/对Spring的理解 Spring的AOP编程 Spring的IOC Spri ...