Настройка фона iOS / изображения блокировки экрана программно? - PullRequest
9 голосов
/ 19 июля 2011

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

Вот несколько вещей, которые я пробовал:

  1. Поместите файл LockBackground.png в / private / var / mobile / Library / SpringBoard /. Это работает, но требует жесткого респиратора. notify_post("com.apple.language.changed"); не работает на мягкое дыхание.

  2. Используйте class-dump для вывода приватных методов UIKit. В UIKit в 4.2 раньше был метод, называемый + (void)setDesktopImageData:(id)fp8;, но он отсутствует в 4.3 и выше.

Есть что-нибудь, что я пропускаю?

1 Ответ

12 голосов
/ 25 июля 2011

Я нашел это в дампе SpringBoard, который, я думаю, будет вам полезен:

В SBWallpaperView.h:

- (void)replaceWallpaperWithImage:(id)image;

А в SBUIController.h:

- (id)wallpaperView;

Так что вы можете сделать что-то вроде:

[(SBWallpaperView *)[SBUIController sharedInstance] wallpaperView] replaceWallpaperWithImage:anImage];

Это один из способов.

Другой, который я нашел, это использовать + (void)noteWallpaperPreferencesChanged; SBWallpaperView, я не уверен в этом, но похоже, что если вы делаете то, что сделали в первой попытке, а затем используете это вместо может это сработает.

...