我正在探索创建越狱调整。我想解锁手机屏幕。这是怎么做到的?可以使用哪些私有API在iOS 7上实现此目的?
答案 0 :(得分:9)
如果我们谈论越狱,那么你可以写一个SpringBoard调整来做到这一点(仅限iOS 7)
[[objc_getClass("SBBacklightController") sharedInstance] turnOnScreenFullyWithBacklightSource:0];
[[objc_getClass("SBLockScreenManager") sharedInstance] unlockUIFromSource:0 withOptions:nil];
如果没有密码锁定,代码将打开屏幕并解锁设备。使用密码,它将打开屏幕并请求密码。
答案 1 :(得分:3)
我的解决方案分为两部分,但可能更好:
使用以下代码模拟按下电源按钮打开电源屏幕:
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
1之后,屏幕会亮起,然后您可以使用SimulateTouch的搜索工具模拟从命令行轻扫。
对于上述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
祝你好运:)