我正在开发一个简单的工具,该工具要求从命令行解锁设备。但是,使用下面的这些代码,似乎什么都没有发生(sharedInstance
代码已使用Cycript验证为正确,并且设备确实收到了解锁请求)
#include <stdio.h>
@interface SBLockScreenManager : NSObject
+ (id)sharedInstance;
- (void)tapToWakeControllerDidRecognizeWakeGesture:(id)arg1;
- (void)lockScreenViewControllerRequestsUnlock;
@end
int main(int argc, char *argv[], char *envp[]) {
[[NSClassFromString(@"SBLockScreenManager") sharedInstance] lockScreenViewControllerRequestsUnlock];
return 0;
}
如何正确实现此目标?预先感谢!
答案 0 :(得分:0)
这是行不通的,因为SBLockScreenManager
是Springboard
应用程序的一部分。
这不是您可以链接的框架。
您只能在Springboard
应用程序内部访问该类,因此需要进行一些调整。
您可以尝试:
1)开发一个简单的Springboard
调整项(即com.apple.springboard
)来侦听系统范围的通知,并在收到通知后触发解锁请求。
有关更多详细信息,请参见CFNotificationCenterPostNotification和CFNotificationCenterGetDarwinNotifyCenter。
2)只需从您的命令行实用程序发送通知即可