Iphone 如何通过应用程序在iOS桌面上创建快捷方式
我的意思是,我想使用该应用程序在桌面上创建一个带有图标的快捷方式,允许用户快速访问该应用程序的某些功能 我该怎么做,有什么建议吗?或者任何有这方面经验的人 例如:Iphone 如何通过应用程序在iOS桌面上创建快捷方式,iphone,ios,iphone-4,Iphone,Ios,Iphone 4,我的意思是,我想使用该应用程序在桌面上创建一个带有图标的快捷方式,允许用户快速访问该应用程序的某些功能 我该怎么做,有什么建议吗?或者任何有这方面经验的人 例如: 除了应用程序的图标外,您不能将图标添加到“桌面”(Springboard)。此应用程序正在其应用程序中显示iPhone“桌面”的副本 更新:该链接现在指向一个应用程序,该应用程序可以做到这一点,尽管在我看来有点像黑客 这就是我认为应用程序的工作原理(类似于答案) 下文将详细介绍) 应用程序创建webclip图像并将其和电话号码发送到
除了应用程序的图标外,您不能将图标添加到“桌面”(Springboard)。此应用程序正在其应用程序中显示iPhone“桌面”的副本 更新:该链接现在指向一个应用程序,该应用程序可以做到这一点,尽管在我看来有点像黑客 这就是我认为应用程序的工作原理(类似于答案) 下文将详细介绍)
- 应用程序创建webclip图像并将其和电话号码发送到web服务
- 然后,web服务创建一个附加了webclip信息的页面。电话号码/电子邮件被转换为url,该url将触发相应的应用程序(邮件/消息/电话)即“+834895734”->电话:834895734或短信:834895734
- 然后,应用程序将在MobileSafari中打开该页面,并打开该页面
大概有关于如何“添加到主屏幕”的说明 - 然后,用户必须导航到并点击“添加到主屏幕”按钮。这将把webclip作为图标添加到跳板上
- 点击webclip可激活url,邮件/消息/电话将与号码/电子邮件一起启动
- 在某个地方托管一个页面,其中包含您想要快捷方式的每个函数/url的webclip。如果URL不是静态的,或者您需要动态图标,那么您将需要一个web服务
- 在此AppDelegate方法中处理应用程序中的url
-(BOOL)应用程序:(UIApplication*)应用程序handleOpenURL:(NSURL*)url
注意:如果您的应用程序被删除,webclips将不再工作,并会混淆用户。苹果也可能会拒绝你的应用程序。我猜应用程序的工作原理如下: 1) 它只是为每个联系人创建一个html 2) 它使用safari功能“添加到主屏幕” 找到了模拟safari功能的绝佳答案 我使用“添加到主屏幕”按钮从Safari创建了一个链接。它在/private/var/mobile/Library/WebClips/的内部创建了一个名为54C86B09482D4560BAB46091CC75825A.webclip的目录。该目录包含两个文件,icon.png和Info.plist。icon.png只是在查看应用程序屏幕时显示的图标。 Info.plist的内容是真实信息的位置:
经典模式
全屏幕
象似合成
基于图标的屏幕快照
规模
0.32653060555458069
滚动点
x
0
Y
-183
标题
每日WTF
UIStatusBarStyle
乌斯塔斯巴斯格雷
统一资源定位地址
http://thedailywtf.com/
因此,为了验证这一点,我创建了一个名为c28c8fdc2f184aad84f77b5111442548f.webclip的新文件夹,并从另一个目录复制了Info.plist文件,将url编辑为。然后,我重新启动了手机,它就像其他任何网络唇膏一样出现了。文件夹名称只是一个十六进制编码的GUID,我在这个简单的测试中使用并选择了0x之后的内容最近,我花了很长时间试图在一个应用程序中实现此功能,并想拿出我在该主题上找到的一些资源,以避免其他人感到头痛。这正成为一项越来越流行的功能,并在工作流和Facebook的群组应用程序等主要应用程序中使用。鉴于工作流现在是苹果的一个应用程序,苹果在使用这项技术方面似乎也没有任何问题。@jin提供的答案基本上是正确的。该过程如下所示:
<!DOCTYPE html>
<html>
<div id="html">
<!DOCTYPE html>
<html>
<head>
<title>Add to Homescreen</title>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
<meta content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;" name="viewport"/>
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta content="SHORTCUT NAME HERE" name="apple-mobile-web-app-title"/>
<link rel="icon" type="image/png" href="data:image/png;base64, ICON IMAGE DATA"/>
<link rel="apple-touch-icon" href="data:image/png;base64, ICON IMAGE DATA"/>
<link rel="apple-touch-startup-image" href="data:image/png;base64, ICON IMAGE DATA"/>
</head>
<body>
<a id="redirectURL" href="YOUR CUSTOM URL" name = "redirectURL"></a>
<script>
if (window.navigator.standalone) {
var e = document.getElementById('redirectURL');
var ev = document.createEvent('MouseEvents');
ev.initEvent('click', true, true);
e.dispatchEvent(ev);
window.close();
} else {
document.write("<center><h1>Valet</h1><img id=\"imageIcon\" src=\"data:image/png;base64, IMAGE ICON DATA\"></img><h2> Add this page to your homescreen </h2></center>")
}
</script>
</body>
</html>
</div>
<script type="text/javascript">
var html = document.getElementById("html").innerHTML;
html = html.replace(/\s{2,}/g, '')
.replace(/%/g, '%25')
.replace(/&/g, '%26')
.replace(/#/g, '%23')
.replace(/"/g, '%22')
.replace(/'/g, '%27');
var dataURI = 'data:text/html;charset=UTF-8,' + html;
window.location.href = dataURI
</script>
</html>
添加到主屏幕
如果
<!DOCTYPE html>
<html>
<div id="html">
<!DOCTYPE html>
<html>
<head>
<title>Add to Homescreen</title>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
<meta content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;" name="viewport"/>
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta content="SHORTCUT NAME HERE" name="apple-mobile-web-app-title"/>
<link rel="icon" type="image/png" href="data:image/png;base64, ICON IMAGE DATA"/>
<link rel="apple-touch-icon" href="data:image/png;base64, ICON IMAGE DATA"/>
<link rel="apple-touch-startup-image" href="data:image/png;base64, ICON IMAGE DATA"/>
</head>
<body>
<a id="redirectURL" href="YOUR CUSTOM URL" name = "redirectURL"></a>
<script>
if (window.navigator.standalone) {
var e = document.getElementById('redirectURL');
var ev = document.createEvent('MouseEvents');
ev.initEvent('click', true, true);
e.dispatchEvent(ev);
window.close();
} else {
document.write("<center><h1>Valet</h1><img id=\"imageIcon\" src=\"data:image/png;base64, IMAGE ICON DATA\"></img><h2> Add this page to your homescreen </h2></center>")
}
</script>
</body>
</html>
</div>
<script type="text/javascript">
var html = document.getElementById("html").innerHTML;
html = html.replace(/\s{2,}/g, '')
.replace(/%/g, '%25')
.replace(/&/g, '%26')
.replace(/#/g, '%23')
.replace(/"/g, '%22')
.replace(/'/g, '%27');
var dataURI = 'data:text/html;charset=UTF-8,' + html;
window.location.href = dataURI
</script>
</html>