Есть ли способ получить Bundle ID текущего открытого приложения?

Я использую Theos для разработки джейлбрейк-твика, и мне нужно получить Bundle ID текущего открытого приложения. Я изменяю SBBannerView.h, который является заголовком SpringBoard. Я пробовал использовать:

[[NSBundle mainBundle] bundleIdentifier]

а также:

[NSBundle mainBundle].bundleIdentifier

которые должны оба давать идентификатор пакета приложения, но поскольку я изменяю уведомления баннера iOS, я думаю, что он всегда возвращает com.apple.springboard, потому что это объект, вызывающий уведомления

как мне получить идентификатор пакета приложений текущего приложения, которое отображается на экране?

Например, если у меня открыто приложение Settings.app, что бы я перехватил или позвонил, чтобы получить идентификатор пакета com.apple.Preferences

Извините, если я не слишком хорошо объяснил

Спасибо всем за помощь


person iExiledDev    schedule 03.01.2013    source источник


Ответы (1)


Я понял это для всех, кто пытается это сделать:

SBApplication *frontApp = [(SpringBoard*)[UIApplication sharedApplication] _accessibilityFrontMostApplication];
NSString *currentAppDisplayID = [frontApp displayIdentifier];
person iExiledDev    schedule 04.01.2013