如何以编程方式解锁iOS屏幕?

时间:2014-02-11 15:29:19

标签: jailbreak iphone-privateapi

我正在探索创建越狱调整。我想解锁手机屏幕。这是怎么做到的?可以使用哪些私有API在iOS 7上实现此目的?

4 个答案:

答案 0 :(得分:9)

如果我们谈论越狱,那么你可以写一个SpringBoard调整来做到这一点(仅限iOS 7)

[[objc_getClass("SBBacklightController") sharedInstance] turnOnScreenFullyWithBacklightSource:0];
[[objc_getClass("SBLockScreenManager") sharedInstance] unlockUIFromSource:0 withOptions:nil];

如果没有密码锁定,代码将打开屏幕并解锁设备。使用密码,它将打开屏幕并请求密码。

答案 1 :(得分:3)

我的解决方案分为两部分,但可能更好:

  1. 使用以下代码模拟按下电源按钮打开电源屏幕:

    VNCSendHIDEvent(IOHIDEventCreateKeyboardEvent(kCFAllocatorDefault, mach_absolute_time(),
    kHIDPage_Consumer, kHIDUsage_Csmr_Power, 1, 0)); // Power button down
    VNCSendHIDEvent(IOHIDEventCreateKeyboardEvent(kCFAllocatorDefault, mach_absolute_time(),
    kHIDPage_Consumer, kHIDUsage_Csmr_Power, 0, 0)); // Power button up
    
  2. 1之后,屏幕会亮起,然后您可以使用SimulateTouch的搜索工具模拟从命令行轻扫。

  3. 对于上述1,您的代码需要com.apple.private.hid.client.event-dispatch entitlement

    有关详情,您还可以调查Activator执行解锁屏幕监听器的方式。

答案 2 :(得分:2)

也许不是直接的解决方案。 您可以使用此调整和库https://github.com/iolate/SimulateTouch来模拟锁定屏幕上的用户滑动以解锁设备。

答案 3 :(得分:2)

我使用Cydia的Activator通过SSH唤醒和解锁设备。它适用于IOS 10.1。

activator send libactivator.system.homebutton
activator send libactivator.system.homebutton

锁定命令在这里:

activator send libactivator.system.sleepbutton

祝你好运:)