以编程方式设置iOS背景/锁屏图像?

时间:2011-07-19 18:30:15

标签: iphone ios uikit jailbreak lockscreen

我希望能够以编程方式设置锁屏背景图像。我知道这只适用于越狱的iOS设备。

以下是我尝试过的一些事情:

  1. 将一个LockBackground.png放在/ private / var / mobile / Library / SpringBoard /中。这可行,但需要一个坚硬的呼吸。 notify_post("com.apple.language.changed");不适用于轻柔呼吸。

  2. 使用class-dump转储UIKit的私有方法。 4.2中的UIKit曾经有一个名为+ (void)setDesktopImageData:(id)fp8;的方法,但在4.3及以上版本中似乎缺失了。

  3. 有什么我想念的吗?

1 个答案:

答案 0 :(得分:12)

我在SpringBoard转储中发现了这个,我认为这对您有用:

在SBWallpaperView.h中:

- (void)replaceWallpaperWithImage:(id)image;

在SBUIController.h中:

- (id)wallpaperView;

所以你可以这样做:

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

这是一种方式。

我找到的另一个是使用SBWallpaperView的+ (void)noteWallpaperPreferencesChanged;,我对这个不太确定,但看起来如果你做了你在尝试的第一件事中做了什么,然后用它代替这可能有效。