URL schemes 这个我就不解释了,大家可以看这里:
http://en.wikipedia.org/wiki/URI_scheme
通俗点说,就是url地址栏;
输入 http:…. 打开的是网页;
输入 qqdl:…… 如果你安装了腾讯的旋风下载工具,系统会自动启动旋风下载;
输入 thunder:…… 对应的就是打开迅雷下载了;
最常用的还有 ftp:…… ; udp:…… ; mailto:…… ;
还有很多很多,而对于iPhone手机,有一些特定的URL schemes;
了解这些内置的URl schemes,对于我们开发一些基于Web网页的iPhone应用,将会变得非常简单;
首先,当然是最常用的,电话和短信;
如何找到小琪:(谢绝跨省,没有水表,不买淘宝也没快递,q值是经纬度坐标值);
sample页面在这里:
http://t.cn/z8ohhH2 (有iPhone,iPad 的同学可以使用自带的safari浏览器测试,PC机下无效)
或者扫描这个二维码:
一些常用内置URL schemes苹果说明在这里:
https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/Introduction/Introduction.html
以上这些比较简单,相信很多开发者都知道;
下面是我要说的重点,使用URL Schemes,打开安装在iPhone中的某个APP应用;
偶尔在某网站,看到一个打开微信App的方法:
我擦,微信竟然打开了;
于是,我想了想,能否用同样办法打开微博呢?
我擦,微博竟然也打开了;
为什么打开微信是用 wexin: ,用 wechat: 可以不?
为什么打开微博是用 weibo: ,用 sinaweibo: 可以不?
网易新闻,QQ,大众点评这些应用又是如何通过URL打开呢?
PS:以上这些URL scheme,都是不区分大小写的,newsapp: 和 NEWSAPP: 是一样效果和功能;
大家要问了,那么打开其他App怎么办呢?
这里很简单,每个App在提交到App Store上去的时候,都有固定的格式;
其中格式中也包含了这个URL scheme信息(一些App有多个URL schemes值);
比如QQ
mqqflyticket:
mqqapi:
mqq:
mqqopensdkapi:
mqqOpensdkSSoLogin:
mqqapiwallet:
mqqopensdkapiV2:
以上这些,都是QQ的 URL scheme值,也就是说,我们可以用任意一种方式打开QQ;
PS:一些APP不同版本的URL scheme值还不同;
下面说重点,怎么找到这样的URL scheme值,这里我们用微信为例子;
首选需要一个iPhone端的资源管理器,推荐用iToos这个软件:http://www.itools.cn/
下载安装完毕后,把iPhone通过USB线接上电脑(安装iTune什么的就不用我说了吧,否则电脑根本就认不出你的iPhone);
然后你可以看到这个界面:
选中微信,点击右侧的【浏览】按钮;
打开一个类似Windows资源管理器的界面,然后我们要的是找到Info.plist这个文件,并复制至我们的电脑;
一般来说,Info.plist这个文件,都是在*****.app目录下( 目前我没看到例外 );
找到后,直接拖至桌面;
.plist文件在苹果机里,就是可以直接打开的,但是在Windows系统下,不能用记事本,Notepad等这些常用文本编辑器打开,目前只有用pListEditor了;
建议用List模式查看,比较清晰直观,我们找到 “CFBundleURLSchemes”这段;
然后就可以看到,其实,微信有3个URL scheme值,分别是:
weixin
fb290293790992170
wechat
也就是说,这3种形式的超链接,都可以打开微信 (很不明白,中间这个fb290293790992170是什么含义?猜测可能是内部版本号)
后来我发觉诸如mailto这样的URL scheme,后面可以跟很多参数,这样,通过对这些参数的设置,是不是就个性化的打开一些内容呢?
还没做研究,还是老规矩,先抛个砖,大家有玉的,可以砸过来!
对于这些后面跟的这些参数,大家研究出来结果记得告诉我,反正目前我看了微信,新浪的开发接口,暂时未找到相关信息~~
本文转自ljianbing51CTO博客,原文链接: http://blog.51cto.com/ljianbing/1604916,如需转载请自行联系原作者