我希望能够以编程方式设置锁屏背景图像。我知道这只适用于越狱的iOS设备。
以下是我尝试过的一些事情:
将一个LockBackground.png放在/ private / var / mobile / Library / SpringBoard /中。这可行,但需要一个坚硬的呼吸。 notify_post("com.apple.language.changed");
不适用于轻柔呼吸。
使用class-dump
转储UIKit的私有方法。 4.2中的UIKit曾经有一个名为+ (void)setDesktopImageData:(id)fp8;
的方法,但在4.3及以上版本中似乎缺失了。
有什么我想念的吗?
答案 0 :(得分:12)
我在SpringBoard转储中发现了这个,我认为这对您有用:
在SBWallpaperView.h中:
- (void)replaceWallpaperWithImage:(id)image;
在SBUIController.h中:
- (id)wallpaperView;
所以你可以这样做:
[(SBWallpaperView *)[SBUIController sharedInstance] wallpaperView] replaceWallpaperWithImage:anImage];
这是一种方式。
我找到的另一个是使用SBWallpaperView的+ (void)noteWallpaperPreferencesChanged;
,我对这个不太确定,但看起来如果你做了你在尝试的第一件事中做了什么,然后用它代替这可能有效。