2009-11-19 3 views
1

Есть ли способ перезапустить Springboard программно, но не заставлять iPhone отключать его блокировку экрана после этого?Перезапустить трамплин без блокировки экрана?

Попробовали отключить блокировку экрана в настройках, но он все равно будет срабатывать после перезапуска Springboard.

(Телефон взломан.)

ответ

4

С iPhone OS 3.x Вы можете обойти блокирующий экран с помощью notify_post("com.apple.language.changed"). не


Этот метод больше не работает в IOS 5.x, так как система проверяет, является ли язык на самом деле изменяется до respringing.

Однако, вы можете сделать следующее, чтобы добиться того же эффекта:

  1. Установите предпочтение SBLanguageRestart из com.apple.springboard в истинный (с использованием CFPreferencesSetAppValue и CFPreferencesAppSynchronize, например, или непосредственно изменяя /var/mobile/Library/Preferences/com.apple.springboard.plist)
  2. Убейте SpringBoard.
+0

Это, кажется, не работает (больше). У меня 4,3,3 iPhone 4, и при вызове notify_post («com.apple.language.changed») не вызывает визуального respringing, когда экран блокируется впоследствии, он также не вызывает SpringBoard для перезагрузки его настроек. Использование «ps» в командной строке также показывает тот же идентификатор процесса. Итак, в принципе, это не перезапуск SpringBoard - это какой-то смысл. Есть идеи? – Nate

+0

@Nate: См. Обновление. – kennytm

1

Не совсем программирования вопрос, но нет, вы не можете остановить блокировку экрана.