*上有人问如何实现这个效果:原文链接
在 app 中,通过 openURL 安装 profile 的步骤:
1、首先调用 safari,然后 safari 会切换到 settings 程序;
2、在 settings 程序,点击“安装”,安装 profile;
3、安装完 profile,点击“完成”,又会切换回 safari;
4、关键的一步,是 safari 又会返回最初的 app。
第4步是重点。
最终,我们用 javascript 和 URL Scheme 实现了这个效果。
我们编写了一个 html 页面,在这个页面中实现 profile 的下载和安装完毕返回 app 的功能。假设 profile 文件为 root.cer,URLScheme 为 myapp:,则html 文件内容如下:
<html>
<head>
</head>
<body onload="javascript:func_ticker()">
<iframe style="display:none"src="root.cer"></iframe>
<a id="theLink"href="myapp:"></a>
</body>
<script type="text/javascript">
<!--
var c=0;
function func_ticker()
{
if (c>=30)
{
fire_link(‘theLink‘);
self.opener = null;
self.open(‘‘,‘_self‘);
self.close();
}
else
{
c+=1;
}
t=setTimeout("func_ticker()",100);
}
function fire_link(aLink)
{
if (document.all)
{
document.getElementById(aLink).click();
}
else
{
var evt = document.createEvent(‘MouseEvents‘);
evt.initEvent("click",true, true);
document.getElementById(aLink).dispatchEvent(evt);
}
}
//-->
</script>
<noscript>
<a href="myapp:">
<h4>Back to application by clicking the link</h4>
</a>
</noscript>
</html>