Agendar um WakeUpPowerOn no iPhone

No aplicativo Relógio do iPhone possui a função de Alarme, a qual é bastante interessante, sendo possível adicionar vários alarmes e personalizá-los individualmente, desde o toque até uma etiqueta para identificação, como na foto:
Alarmes
Essa função funciona que é uma beleza, mas o problema é utilizá-lo como despertador e deixá-lo ligado a noite toda para despertar no outro dia conforme programado, vejo dois problema utilizando dessa forma:

1) Deixar o iPhone ligado a noite toda consome bateria.

2) Não gostaria de receber nenhuma chamada ou SMS durante a noite, muitas pessoas ativam o Modo Avião, parcialmente resolvido, mas o problema seria lembrar de ativar o Modo Avião todas as noites.

Celulares de outras marcas normalmene é possível programar um despertador desligar o aparelho por completo, que ele irá ligar na hora programada e em seguida toca o despertador. Isto não acontece com o iPhone, ele não consegue ligar o aparelho.

Atras de uma solução para isso, comecei a procurar no Mac OS X, em Preferencias do Sistema > Economizador de Energia > Programação, é possível programar data e hora para que a máquina ligue e inicialize o Mac OS X na hora programada, feito isso descobri que o arquivo é:

/Library/Preferences/SystemConfiguration/com.apple.AutoWake.plist

Legal, será que o iPhone OS tem esse arquivo também?

Estou utilizando iPhone 2G com Firmware 2.2.1 com jailbreak, acessando via SSH e procurando desse arquivo, bingo! Lá está ele:

/var/preferences/SystemConfiguration/com.apple.AutoWake.plist

Através de uma comparação, foi possível identificar quais eram as alterações necessárias para programar data e hora para ligar o iPhone automaticamente.

Bastou então copiar o /var/preferences/SystemConfiguration/com.apple.AutoWake.plist para o Mac OS X, editá-lo com o Property List Editor e adicionar as seguintes chaves e valores, como na imagem abaixo:
imagem2

Após adicionar esses valores deve copiar novamente esse arquivo para o iPhone e fazer ele ler as novas configurações, para isso utilize:

cd /private/var/mobile/Library/Preferences/
launchctl
stop com.apple.SpringBoard
start com.apple.SpringBoard

Pronto agora, desligue o iPhone e aguarde ele ligar automaticamente.

Se alguém se interessar em desenvolver algum App baseado nas informações deste texto, favor entrar em contato para trocar algumas idéias.

3 Comments

Bernardofevereiro 10th, 2010 at 12:57 pm

Olá Felipe, achei muito interessante o procedimento mas estou com dificuldades e gostaria de saber se poderia me ajudar se possível.
Primeiramente, é possível fazer o pelo windows?
Tentei fazer o passo a passo seguindo informações através do diskaid, acessando o root, copiando o arquivo para a minha área de trabalho e alterando com o plist editor.
Meu Iphone possui O.S. 3.0, e utilizo o itunes 9.0.2.25
Não tenho experiência com o Plist então acredito estar aí o erro. Por favor dá uma olhada no arquivo e vê se eu fiz corretamente.

WARNING
Do not edit this file by hand. It must remain in sorted-by-date order.
wake

eventtype
wake
scheduledby
PersConn-aosnotifyd-com.apple.AOSNotification
time
2010-02-10T03:08:15Z

eventtype
wake
scheduledby
PersConn-apsd-com.apple.apsd-push.apple.com
time
2010-02-10T03:09:40Z

eventtype
wake
scheduledby
com.apple.Clock
time
2010-02-10T10:02:45Z

eventtype
wake
scheduledby
com.apple.Clock
time
2010-02-10T10:02:45Z

eventtype
wake
scheduledby
com.apple.Clock
time
2010-02-10T10:02:45Z

eventtype
wake
scheduledby
com.apple.Clock
time
2010-02-10T10:02:45Z

eventtype
wake
scheduledby
com.apple.Clock
time
2010-02-10T10:02:45Z

eventtype
wake
scheduledby
com.apple.Clock
time
2010-02-10T10:02:45Z

eventtype
wake
scheduledby
com.apple.Clock
time
2010-02-10T10:02:45Z

eventtype
wake
scheduledby
com.apple.Clock
time
2010-02-10T10:02:45Z

eventtype
wake
scheduledby
com.apple.Clock
time
2010-02-10T10:02:45Z

eventtype
wake
scheduledby
com.apple.Clock
time
2010-02-10T10:02:45Z

eventtype
wake
scheduledby
com.apple.Clock
time
2010-02-10T10:02:45Z

eventtype
wake
scheduledby
com.apple.Clock
time
2010-02-10T10:02:45Z

eventtype
wake
scheduledby
com.apple.springboard.calendar
time
2010-02-10T19:12:15Z

eventtype
wakepoweron
scheduledby
repeating
time
2010-02-10T07:35:15Z

adminfevereiro 12th, 2010 at 12:48 pm

Fala Bernardo,

creio que não seja possível fazer a alteração do arquivo no Windows por causa do plist, a não ser que exista uma versão de plist editor para o Windows o que eu acho pouco provável.

Outra coisa, eu estava fuçando essa função nessa época, até estava empolgado em desenvolver um aplicativo em cima disso, porém tinha outras prioridades e não pude completar.

Resumindo não tenho como lhe ajudar, as dicas que consegui obter são essas.

Falows

Bernardofevereiro 13th, 2010 at 8:57 am

Beleza Felipe. Agradeço a atenção. Abraço

Leave a comment

Your comment