禁用iPhone/iPad上的主页按钮

14

首先,我完全知道这样做会被苹果拒绝,用户体验也很差等等。

我的问题很简单,是否可以使用私有API禁用主页按钮?目的是将iPad有效地置于展示模式。


好问题。我一直在考虑开发一些iPad亭项目,但从未想到过这个问题。我希望我知道答案。在上面放一个金属板是不够牢固的。但如果你设法禁用它,你可能需要一些秘密组合来重新启用它。或者不需要。 - nickthedude
不,我同意,即使只是为了更新应用程序或其他操作,您也需要能够重新启用。我想只需在应用程序中设置一个控制主页按钮是否激活的选项 - 如果需要,可以设置密码保护。 - Ben Williams
也许这会有所帮助:http://igrudge.net/how-to-disable-the-home-button-on-ios-devices-iphoneipad/ 这将使您的设备进入展示模式。 - njalk
4个回答

12

您无法禁用菜单按钮。这由SpringBoard处理,除非设备越狱,否则您无法控制。

但是,您可以在用户退出后立即重新启动应用程序。假设您已注册了kioskRelaunch112084 URL方案:

-(void)applicationWillTerminate:(UIApplication *)application {
    [application openURL:[NSURL URLWithString:@"kioskRelaunch112084://"]];
}

请注意,用户仍然可以强制退出应用程序

谢谢。如果我理解正确,URL只是你编造的一个。所以,我只需要注册我的应用程序来处理那种类型的URL,或者任何我选择的类型? - Ben Williams
@alku83:无论你选择什么。 - kennytm
6
看起来这个解决方案在IOS 4中已经不再可用了。应用程序对象似乎无法响应任何失去焦点回调或在应用程序关闭后的后台任务中的openURL。 - JoshRivers

12

这绝对是最好的解决方案,只是没有说明如何部署。还有很多添加到他的文件中以增加安全性,例如密码触发删除、手势识别禁用等。 - rinzler
部署非常容易。我在我的博客上回答了一个评论,但也应该在这里和链接的答案中提到。要从Web传递配置,您只需将iPhone指向包含配置文件的URL即可。只需在Safari中打开.mobileconfig文件的链接即可。如果您没有网络空间,可以使用Dropbox公共文件夹URL或打开Mac Web服务器。 - Rick
@rinzler 你如何添加密码触发的删除和手势识别以进行禁用?请分享你的想法。 - Durai Amuthan.H

0
如果它将被放置在某种亭子中,您可以只需在其上放置一块金属板,并将物品紧固到足够紧密,以使其不能合理地被按下吗?

我猜这是最后的选择,但编程实现会更可取。我想,我们也可以在主页按钮上涂一些胶水 :) - Ben Williams
是的,那其实是我的第一个想法。根据你想要多长时间的持久性,你也可以在上面粘一条东西的条带。 - dash-tom-bang

-1

你可以先从查看这个应用背后的代码开始。

此外,不要只是在主页按钮周围添加一个条带,试试这个方法


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接