9

プログラムでロック画面の背景画像を設定できるようにしたいと思います。これは、ジェイルブレイクされた iOS デバイスでのみ可能であることを認識しています。

ここに私が試したいくつかのことがあります:

  1. /private/var/mobile/Library/SpringBoard/ に LockBackground.png を配置します。これは機能しますが、ハードなリスプリングが必要です。notify_post("com.apple.language.changed");ソフトリスプリングでは機能しません。

  2. class-dumpUIKit のプライベート メソッドをダンプするために使用します。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];

それは一つの方法です。

私が見つけたもう1つは、SBWallpaperViewのを使用することでし+ (void)noteWallpaperPreferencesChanged;た。これについてはよくわかりませんが、最初に試したことと同じことを行い、リスプリングの代わりにこれを使用すると、うまくいくかもしれません。

于 2011-07-25T05:33:09.760 に答える