Так как инфраструктура iOS не позволяет локальным уведомлениям выполнять код до их размещения, я ищу способ его достижения на устройстве, взломанном на джейлбрейке.
- Функционально ли встроено вредоносное устройство для планирования выполнения кода, без необходимости взаимодействия с пользователем?
- Код должен загружать обновления и определять, должен ли пользователь получать уведомление.
- Я не хочу использовать push-уведомления, для чего внешний сервер должен нажимать на пользователя.
Обновление
Ну, мне удалось создать демона, который запускается при запуске и продолжает работать.
Однако для отправки уведомлений требуется объект UIApplication
. Согласно documentation этот синглтон создается методом UIApplicationMain()
, который для обычного приложения вызывается main()
. Поскольку я хочу, чтобы уведомление было опубликовано демоном, singleton равен нулю.
Могу ли я создать экземпляр UIApplication
? Или отправить уведомление любым другим способом?
Я попробовал позвонить UIApplicationMain()
, а затем опубликовать уведомление в делегате приложения, а также убить приложение, но на этот раз отображается черный экран; Думаю, его запуск приложения. Кроме того, это приводит к сбою демона, когда запуск приложения невозможен (когда телефон еще не загружен).
Вот эскиз кода
int main(){
if(launchedBySpringBoard || launchedBynotification)
UIApplicationMain(...);
else if(launchedByDaeamon)
StartRunLoop();
}
void triggerdByRunLoopEveryXhours(){
downloadData();
if(isNewData())
postNotification();
}