众所周知,Safari有一个“添加至主屏幕”的功能,其实就是在桌面添加了一个网页书签,本文讲述的是如何利用此功能实现桌面快捷电话。
一,主要用到的技术知识有以下几个(当然iPhone程序开发技能自然不可少)
1. JavaScript
3. Socket基本知识
4. Base64编码
二,基本原理
程序内部创建一个简单的Web站点,通过这个站点调用Safari,站点将自定义的Html页面返回给Safari,此时利用Safari的“添加至主屏幕”功能,将自定义的Html制作成桌面书签,当用户点击桌面图标时,则运行自定义的Javascript脚本拨打电话。
三,实现方法
1. 创建一个简易的Web站点,代码如下:
2. 制作Html页面模板,代码如下,请注意代码中$XXX$标识串,主要在程序中将其替换成实际内容
3. 程序调用Safari
(1) 使用[[UIApplication sharedApplication]openURL:]方法,url地址为自定义的web站点,如http://localhost:端口号。
(2) 在Web站点中的handleWebRequest方法中,将自定义的html内容发送给safari
4. 程序在info.plist中注册自定义schema,此处主要解决浏览器拨打时会弹出确认对话框,所以先打开我们的程序,通过程序去拨打电话,代码如下: