2014-02-10 3 views
0

Теперь я могу использовать метод contextIdAtPosition, чтобы получить идентификатор контекста самого большого приложения, но как я могу использовать идентификатор контекста для получения идентификатора связки самого большого приложения? Спасибо!Как получить идентификатор связки приложения через контекстный идентификатор или порт mach в iOS 7 (Jailbroken)?

+0

@Surge: Я получаю нуль от [objc_getClass ("CAWindowServer") serverIfRunning]? Как вы смогли заставить его работать? Используете ли вы какие-либо права? Я получил jailbroken устройство iOS 7, на котором я пытаюсь. – Jailbroken

ответ

1

Если вам нужен только идентификатор самого большого приложения, вам необходимо проверить класс SpringBoard.

@interface SBApplication : NSObject 
-(NSString *)displayIdentifier; 
@end 

@interface SpringBoard : UIApplication 
-(SBApplication *)_accessibilityFrontMostApplication; 
@end 
+0

Спасибо, и как я могу получить порт задачи 'SpringBoard' как метод' taskPortOfContextId'? – Suge

+0

Я не уверен, что вы пытаетесь сделать. Если ваш трюк работает в 'SpringBoard', вы можете получить экземпляр' SpringBoard', используя '[UIApplication sharedApplication]'. – Qusic

+0

Я хочу создать 'IOHIDSystemConnectionRef' для' SpringBoard', которому нужен 'task port'' SpringBoard', wen может использовать 'contextIdAtPosition' и' taskPortOfContextId' для получения 'task port' самого большого приложения, но как можно мы получаем 'task port'' SpringBoard', когда он не находится на главном экране? – Suge