iOS中scheme详解
来源:互联网 发布:linux 访客破解root 编辑:程序博客网 时间:2024/06/08 04:17
一、什么是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
使用模拟器调用应用的步骤:
1. 在 Xcode 中运行应用
2. 一旦应用被安装,自定义 URL scheme 就会被注册
3. 通过模拟器的硬件菜单中选择 Home 来关闭应用
4. 启动 Safari
5. 在浏览器地址栏输入之前定义的 URL scheme(如下)
这样你就可以在浏览器中通过你自定义的scheme调用你的app。
当然你也可以在另外一个app中通过你自定义的scheme调用的你的app。实现步骤:
通过自定义 URL Scheme 向应用传递参数(回调函数)
有时你需要通过自定义 URL 向应用中传递参数。让我们看看该如何完成这个工作。
NSURL 作为从一个应用调用另一个的基础,遵循 RFC 1808 (Relative Uniform Resource Locators) 标准。 因此你所熟悉的基于网页内容的 URL 格式在这里也适用。
在自定义了 URL scheme 的应用中,app delegate 必须实现以下方法:
从一个应用传递参数到另一个的诀窍是通过 URL。例如,假设我们使用以下的 URL scheme,想传递一个名为 “token”的参数和一个标识注册状态的标志,我们可以像这样创建一个 URL:
第三方URL:wb2239427625://response?id=C3316AD8-74C0-4B26-9EEF-3A6ECEBF21FF&sdkversion=2.5
在 web 开发中,字符串 ?token=123abct®istered=1 被称作查询询串(query string)。
在被调用(设置了自定义 URL)的应用的 app delegate 中,获取参数的代码如下:
0 0
- iOS中scheme详解
- iOS中scheme详解
- iOS URL scheme 详解
- IOS-Scheme详解
- iOS URL Scheme 使用详解
- iOS中URL Scheme是干嘛的
- iOS scheme
- 在Mac和iOS中注册自定义的URL Scheme
- iOS不同应用切换中URL Scheme的使用介绍
- ios系统中设置里各项的scheme
- iOS中使用URL Scheme进行App跳转的教程
- ios URL Scheme
- ios URL Scheme
- ios 常用 url scheme
- ios的URL Scheme
- iOS URL scheme
- iOS URL Scheme
- iOS URL scheme
- TextView 设置无下划线超链接
- 选择了好久,决定在CSDN安个家,sina博客也会同步更新。
- 项目自带servlet-api.jar和jsp-api.jar,发布到tomcat下冲突
- 同步和异步的理解
- Java网络编程笔记2
- iOS中scheme详解
- vs2008 中,在编译Tcl扩展库时调用其他的动态库 (动态库调用动态库)
- 43.线数目 (15分待续)
- static的3种含义
- 《Java并发编程实战》---性能与可伸缩性
- poj3461 KMP
- mini2440-s3c2440 的 存储系统和I/O空间 认识
- Spring与Quartz的整合实现定时任务调度
- [Android 性能优化系列]那些不能忽略的小细节