Как использовать + [SBLockScreenManager sharedInstance] в инструменте iOS (взломан)? - PullRequest
0 голосов
/ 21 июня 2019

Я разрабатываю простой инструмент, который запрашивает разблокировку устройства из командной строки. Однако, используя приведенный ниже код, похоже, ничего не происходит (код 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;
}

Как мне добиться этого правильно? Заранее спасибо!

1 Ответ

0 голосов
/ 29 июня 2019

Это не сработает, поскольку SBLockScreenManager является частью приложения Springboard.

Это не фреймворк, с которым вы можете связать.

Вы сможете получить доступ к этому классу только внутри приложения Springboard - следовательно, через твик.

Вы можете попробовать :

1) Разработка простого Springboard твика (b.i. com.apple.springboard), который прослушивает общесистемное уведомление и, как только это уведомление получено, запускает запрос на разблокировку.

Подробнее см. CFNotificationCenterPostNotification и CFNotificationCenterGetDarwinNotifyCenter .

2) Просто отправьте уведомление из утилиты командной строки

...