iOS专用API:锁定设备并关闭屏幕电源

iOS专用API:锁定设备并关闭屏幕电源,ios,jailbreak,lockscreen,tweak,Ios,Jailbreak,Lockscreen,Tweak,我正在为越狱制作一个应用程序,当用户启动应用程序时锁定设备。我尝试了GSEventLockDevice()来自GraphicsServices.framework,但这无法正常工作,因为它会锁定屏幕,但不会关闭屏幕电源。是否有其他方法可以在不使用MobileSubstrate的情况下锁定屏幕?请看以下几个问题: 其思想是您可以模拟系统范围内的事件。事件之一是断电事件。如果您模拟它,它将关闭设备并将其锁定 顺便说一句,你可能会对谷歌更多关于GSEvent的信息感兴趣,这是进行模拟的关键 以下

我正在为越狱制作一个应用程序,当用户启动应用程序时锁定设备。我尝试了
GSEventLockDevice()来自
GraphicsServices.framework
,但这无法正常工作,因为它会锁定屏幕,但不会关闭屏幕电源。是否有其他方法可以在不使用MobileSubstrate的情况下锁定屏幕?

请看以下几个问题:

其思想是您可以模拟系统范围内的事件。事件之一是断电事件。如果您模拟它,它将关闭设备并将其锁定

顺便说一句,你可能会对谷歌更多关于GSEvent的信息感兴趣,这是进行模拟的关键

以下是两个有用的链接:


此外,这种方法不仅限于越狱手机。它也适用于被监禁的手机(但是,您将无法将其发布到AppStore)。

就像另一种选择一样,它使用
SBDimScreen()
。您可以将该
GSEventLockDevice()
结合使用

您现在(iOS 5+)可能需要向应用程序添加权限才能成功使用此通话。如果您以前没有这样做过。显然,在这种情况下,所讨论的权限必须更改为
com.apple.backboard.client

你也可能会看到@VictorRonin是否尝试过这个,正如他在我所链接的问题上所评论的那样。我在越狱的iOS 4.2.1设备上测试了
SBDimScreen()。稍后我将在iOS 5.x上试用,并发布更新


注意:我从Elias链接到的答案对于iOS 6有一个完全不同的调用。

看看这个。然而,它可能已经过时了(我相信它是为iOS 3.0设计的):@Victoronin,你能帮我一个多点触摸模拟的忙吗?鲍勃:对不起,我从来没有尝试过多点触控模拟。顺便说一句,这种方法要小心。人们在iOS上报告问题7@VictorRonin,谢谢你的回答,但iOS 7上报告的问题是什么?@Bob:我看到了下面的问题,并假设苹果增加了使用这个API的权利我正在学习MobileSubstrate,可能比这个更容易。。。谢谢您好@Nate,您能帮我进行多点触控模拟吗?非常感谢。它在IOS 7上不起作用,相反,控制台会显示一条警告(:-[BKWorkspaceServerManager\u handleEvent:]未知GSEvent,type=1014;忽略。)@ShabiTech,许多私人API在IOS 7中停止工作(或开始要求授权)。如果你想知道如何在iOS 7/8上做到这一点,你应该发布一个新问题。这个问题和答案应该出于历史目的加以保留。如果iOS 7需要一个新的解决方案,我们需要一个单独的问题。谢谢