20 outubro, 2009

iPhone: Erro 1601, 1602, 1603, 1604, etc ao atualizar pelo iTunes

Para tentar passar pelos erros 1604:
1. Conecte o iPhone o PC, feche o iTunes se estiver aberto.
2. Abra o iH8sn0w (nao clique em nada)
3. Coloque o iPhone em mode DFU
4. Na tela do iH8sn0w, clique no modelo de iPhone correspondente
5. Preste atencao na tela do iPhone, ela deve ficar branca ou piscar com a tela td branca ou ainda, ficar branca e depois vermelha. (demora uns 2seg +/-)
6. Depois da tela estar no estado descrito no passo 5, entre no iTunes e envie a firmware que vc deseja.
7. Se tudo correr bem, ele deve instalar a firmware normalmente. Caso ocorra o erro 1015 no final da atualizacao, faça o jailbreak normalmente e/ou configure a variável "auto-boot" para "true" usando o iRecovery.

iPhone: Erro #28 na restauração pelo iTunes

Um colega chegou com um iPhone que naum fazia a restauracao de jeito nenhum. Dava erro #28 pelo iTunes. Vou descrever aqui o que fiz, caso alguém venha a enfrentar algo parecido:

Como ele ficava só na tela pedindo o iTunes, pensei que seria só configurar a variável auto-boot pelo iRecovery para true e pronto. Mas isso não adiantou.
Depois de olhar pelo iRecovery, percebi que era algum problema com a particao "/", pois mostrava várias mensagens do tipo:
"[FTL:ERR] _FTLRestore found block xxx with wLbn xxx".
Ou ainda, quando tentava dar boot usando "fsboot":
fsboot
root filesystem mount failed

Bom, pensei: "Cade o fsck nessas horas". Precisava fazer uma verificação no sistema de arquivos e/ou formatá-lo. Descobri que para fazer o iBoot executar alguma coisa, tem que colocar o comando em uma variavel e executar o conteudo da variavel. Por exemplo:
setenv comando "arm7_stop"
run comando
Mas eu não sabia qual era o comando similar ao fsck ou para formatar. Foi ai que encontrei um log na internet que tinha a variavel "boot-args" com uma opção bem interessante "nand-enable-reformat=1".
Criei a variável e reiniciei:
setenv boot-args "rd=md0 nand-enable-reformat=1 -progress"
saveenv
reboot

Ele demorou um monte, mais de 10min, piscou a tela e voltou a pedir a conexão com o iTunes. Olhando novamente o iRecovery, ele mostrava uma mensagem diferente, não mais com erro, e sim informando que a particao "/" não era reconhecida e/ou naum estava formatada:

******************************************************************************
*****************************************************************************
AND: NAND initialisation failed due to format mismatch or uninitialised NAND.
AND: Please reboot with reformatting enabled.
******************************************************************************
******************************************************************************
Era isso que eu queria, mas e agora, como colocar os arquivo do "/" novamente. Verifiquei o comando "/sendfile" do iRecovery, mas não saberia quais arquivos enviar (descompactar a firmware ipsw como sendo zip e enviar um-a-um?).
Como esse aparelho estava com a firmware 3.0, pensei no Redsn0w pois ele reconstroi o "/" e deveria formatar aquela partição. Fiz isso e o aparelho voltou a funcionar. :-D

Qualquer dúvida, por favor usem os comentários.

16 junho, 2009

Programação iPhone: MacOSX Leopard e iPhoneSDK em Notebook Acer 3640

Estou tentando "brincar" um pouco com o desenvolvimento de aplicações para o iPhone. Assim, vou tentar descrever os passos até aqui desenvolvidos.

Primeiro, eu precisava ter uma máquina rodando um sistema MacOSX para a instalação do iPhone SDK/XCode. Como não tinha $$$ para adquirir um Mac novo, bem como, por se tratar apenas de diversão, não queria investir muito (ou nada :-D). Então tentei instalar o MacOSX Leopard no meu velho notebook acer 3640 (celeron 1.47, 1,5Gb Ram, Ati Xpress 200M.....).

Tentei versão para i386 como iPC, Ideneb, iATKOS, mas a única que obtive êxito foi com a Kalaway. Depois de me "bater" um pouco, consegui instalar o MacOSX... Como queria continuar com os outros sistemas operacionais, instalei um WindowsXP e um Debian GNU/Linux em outras partições, configurei tudo com o GRUB e pronto... agora meu note esta com os 3 sistemas operacionais.

Iniciei o Leopard e fui instalar o iPhone SDK. Ele reclamou da versão do sistema operacional e requereu a atualização (depois, descobri que poderia apenas alterar o arquivo "/System/Library/Coreservices/Systemversion.plist" para a versão desejada).

Pronto, Leopard + iPhoneSDK instalados... e agora?

Pois é, tentei entender como funciona o desenvolvimento para iPhone por conta própria, olhando alguns exemplos, mas logo desisti e procurei algum tutorial que pudesse ajudar.

Após olhar no site da apple e de diversas pesquisas no google, descobri o blog "Cocoa Is My Girlfriend". Segui o tutorial "http://www.cimgf.com/2008/10/01/cocoa-touch-tutorial-iphone-application-example/" e o vídeo "http://www.cimgf.com/videos/iphonetutorial/". E finalmente tinha alguma coisa, pelo menos digitada por mim, compilando e rodando no emulador.

O próximo passo é saber como colocar essa aplicação no iPhone... hehehe