iOS中scheme详解
一、什么是scheme?
我们知道在ios的程序中,由于沙盒的限制,导致程序之间相互隔离,没有一个有效的办法进行相互通信。但是也不是完全不可能实现,我们可以通过scheme url来实现程序间的通信。
典型的应用就是支付宝,新浪分享,微信分享。当你在一个网页中进行浏览的时候,如果你已经安装了支付宝的话,你点击支付功能的话,就通过设置的scheme url跳转到支付宝的支付界面。
二、配置scheme
如何实现像支付宝那样的功能呢,很简单,通过在ios程序中添加自定义协议(scheme)。在你的应用中的info.plist文件中添加URL Type节点。这个节点包括:这个程序所支持的自定义协议名称,像 http、ftp 这种,一般我们可以设置为程序英文名称,像淘宝客户端中就设置了 taobao,这样 taobao:// 这个形式的 URL 就会关联到淘宝客户端的 App。
注意:亲测对于那个Identifier,目前不知道用处是什么,希望网友给出指正。url scheme 就是要你在其他程序中要回调的url。
三、使用safari或者其他程序调用你自定义的的scheme
![](/assets/blank.gif)
代码中我们可以通过检测url是不是被定义,如果定义了直接打开url,否则提示未定义。
![](/assets/blank.gif)
第三方URL:wb2239427625://response?id=C3316AD8-74C0-4B26-9EEF-3A6ECEBF21FF&sdkversion=2.5
![](/assets/blank.gif)
iOS中scheme详解相关推荐
- IOS中Socket详解
一.网络各个协议:TCP/IP.SOCKET.HTTP等 网络七层由下往上分别为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. 其中物理层.数据链路层和网络层通常被称作媒体层,是网络工程 ...
- php pcntl fork使用,php中pcntl_fork详解
pcntl_fork()函数是php-pcntl模块中用于创建进程的函数.(不支持windows) 至于php_pcntl扩展如何安装开启这里就不介绍了,只分析pcntl_fork()这个函数本身. ...
- iOS 2D绘图详解(Quartz 2D)之路径(点,直线,虚线,曲线,圆弧,椭圆,矩形)
前言:一个路径可以包含由一个或者多个shape以及子路径subpath,quartz提供了很多方便的shape可以直接调用.例如:point,line,Arc(圆弧),Curves(曲线),Ellip ...
- IOS 多线程04-GCD详解 底层并发 API
IOS 多线程04-GCD详解 底层并发 API 注:本人是翻译过来,并且加上本人的一点见解. 前言 想要揭示出表面之下深层次的一些可利用的方面.这些底层的 API 提供了大量的灵活性,随之而来的是大 ...
- ASP.NET Core 中 HttpContext 详解与使用 |
ASP.NET Core 中 HttpContext 详解与使用 | Microsoft.AspNetCore.Http 详解 笔者没有学 ASP.NET,直接学 ASP.NET Core ,学完 A ...
- 函数中{}输出格式详解(C#)
Console.WriteLine()函数中{}输出格式详解(C#) Console.WriteLine()函数的格式一直没怎么注意.今天同事问起Console.WriteLine({0:D3},a) ...
- Java中CAS详解
转载自 Java中CAS详解 在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁 锁机制存在以下问题: (1)在多线程竞争下,加锁.释放锁会导致比较多的上下文切换 ...
- 【转】图形流水线中坐标变换详解:模型矩阵、视角矩阵、投影矩阵
转自:图形流水线中坐标变换详解:模型矩阵.视角矩阵.投影矩阵_sherlockreal的博客-CSDN博客_视角矩阵 图形流水线中坐标变换详解:模型矩阵.视角矩阵.投影矩阵 图形流水线中坐标变换过程 ...
- oracle itl解析,oracle数据块dump文件中ITL详解
oracle数据块dump文件中ITL详解 dump出Oracle block后,可以看到事物槽,包含有事物槽号(ITL),XID,UBA,FLAG,LCK,SCN. 本文主要讨论FLAG标记的规则, ...
最新文章
- 2013-3-10日记
- Connect(); // 2015 简要整理
- Linux的默认给home分配多少,Linux 分配/home的磁盘空间给根目录
- 万豪旅享家官方商城携手神策数据,数字化礼遇更高质量的用户体验
- Linux线程(三)
- Arquillian变色龙。 简化您的Arquillian测试
- Loadrunner常用15种的分析点
- Sql2005 PIVOT运算符的操作
- 五个案例“熄灭”Nginx漏洞隐患
- 鸽主姓名查询成绩_SQL学习之旅-Select简单查询
- 经典神经网络 -- VGG : 设计原理与pytorch实现
- Linux性能优化(九)——Kernel Bypass
- 分类变量——卡方检验
- java:窗体里的标签(图片标签)
- Linux下安装SVN与使用
- linux系统外接硬盘_linux系统外接存储管理命令
- 什么是NVMe硬盘?
- LiveData 源码解析(2.4.1 版本)
- ubuntu设置全攻略
- 【Linux网络服务】Centos7搭建yum服务器
热门文章
- CE8301与自激振荡
- Opencv中使用ocl模块遇到的问题
- 图像目标检测算法总结(从R-CNN到YOLO v3)
- oracle 查的数据去重复数据,Oracle查询和过滤重复数据
- std::future、std::promise、std::packaged_task、std::async
- 基于UCOSII的RS485通信(STM32F107)
- 流量不清零:用户开心,运营商无奈
- 2022 SMUCTF 永远都对-rui WriteUp
- 测试相机的软件叫什么,测年龄的app叫什么(测年龄的相机软件app)
- 方程组在原点附近解matlab,Matlab计算题:求解下列非线性方程组在原点附近的根: 9x^2 + 36y^2 + 4z^2 =36 X^2 -2y^2- 20z =0 16x –...