9

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

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

  1. 在 /private/var/mobile/Library/SpringBoard/ 中放置一个 LockBackground.png。这可行,但需要硬重生。notify_post("com.apple.language.changed");不适用于软重弹。

  2. 用于class-dump转储 UIKit 的私有方法。4.2 中的 UIKit 曾经调用过一个方法,+ (void)setDesktopImageData:(id)fp8;但在 4.3 及更高版本中似乎缺少它。

有什么我想念的吗?

4

1 回答 1

12

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

在 SBWallpaperView.h 中:

- (void)replaceWallpaperWithImage:(id)image;

在 SBUIController.h 中:

- (id)wallpaperView;

因此,您可以执行以下操作:

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

这是一种方式。

我发现的另一个是使用 SBWallpaperView's + (void)noteWallpaperPreferencesChanged;,我对此不太确定,但似乎如果你在尝试的第一件事中做了你所做的事情,然后使用它而不是 respring,它可能会起作用。

于 2011-07-25T05:33:09.760 回答