Pergunta

Meu aplicativo funciona muito bem em 3,0 dispositivos e em 3,1 dispositivos quando lançado via Xcode, mas trava na inicialização quando executado em um dispositivo 3.1 quando instalado via iTunes. Ele não deixa atrás de log acidente, mas coloca isso no console:

Thu Oct  1 19:33:36 unknown mobile_installationd[329] <Error>: 00808e00 install_embedded_profile: Skipping the installation of the embedded profile
Thu Oct  1 19:33:37 unknown SpringBoard[24] <Warning>: Reloading and rendering all application icons.
Thu Oct  1 19:33:41 unknown com.apple.debugserver-43[342] <Warning>: debugserver-43 for armv6 Copyright (c) 2007-2009 Apple, Inc.  All Rights Reserved.
Thu Oct  1 19:33:41 unknown com.apple.debugserver-43[342] <Warning>: Connecting to com.apple.debugserver service...
Thu Oct  1 19:33:41 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.companyname.AppName[0x60c]) Spawned and waiting for the debugger to attach before continuing...
Thu Oct  1 19:33:42 unknown kernel[0] <Debug>: launchd[343] Builtin profile: container (seatbelt)
Thu Oct  1 19:33:42 unknown kernel[0] <Debug>: launchd[343] Container: /private/var/mobile/Applications/291BFBE4-F5DC-494D-B7E5-81BED01E508B (seatbelt)
Thu Oct  1 19:33:42 unknown com.apple.debugserver-43[342] <Warning>: 1 [0156/0903]: error: ::task_for_pid ( target_tport = 0x0103, pid = 343, task => 0x0000 ) 0x000001f5/0x000001f5 0x000001f5/0x000001f5 err = (os/kern) failure (0x00000005)
Thu Oct  1 19:33:42 unknown com.apple.debugserver-43[342] <Error>: error: MachTask::StartExceptionThread (): task invalid, exception thread start failed.
Thu Oct  1 19:33:42 unknown com.apple.debugserver-43[342] <Warning>: 2 [0156/0903]: error: ::task_for_pid ( target_tport = 0x0103, pid = 343, task => 0x0000 ) 0x000001f5/0x000001f5 0x000001f5/0x000001f5 err = (os/kern) failure (0x00000005)
Thu Oct  1 19:33:42 unknown com.apple.debugserver-43[342] <Warning>: 3 [0156/0903]: RNBRunLoopLaunchInferior DNBProcessLaunch() returned error: 'DRHT'
Thu Oct  1 19:33:42 unknown com.apple.debugserver-43[342] <Warning>: error: failed to launch process (null): failed to get the task for process 343
Thu Oct  1 19:33:42 unknown com.apple.debugserver-43[342] <Warning>: 4 [0156/1603]: error: ::read ( 7, 0x28091c, 1024 ) => -1 err = Bad file descriptor (0x00000009)
Thu Oct  1 19:33:42 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.companyname.AppName[0x60c]) Bug: launchd_core_logic.c:2649 (23909):10
Thu Oct  1 19:33:42 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.companyname.AppName[0x60c]) Working around 5020256. Assuming the job crashed.
Thu Oct  1 19:33:42 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.companyname.AppName[0x60c]) Job appears to have crashed: Segmentation fault
Thu Oct  1 19:33:42 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.companyname.AppName[0x60c]) Throttling respawn: Will start in 2147483647 seconds
Thu Oct  1 19:33:42 unknown SpringBoard[24] <Warning>: Application 'AppName' exited abnormally with signal 11: Segmentation fault
Thu Oct  1 19:34:42 unknown SpringBoard[24] <Notice>: MultitouchHID(208ba0) uilock state: 0 -> 1

O aplicativo tem um arquivo Default.png, e isso mostra por um momento, mas eu acho que pode ser carregado por SpringBoard / launchd / outros enfeites, então eu não acho que isso é um sinal de que eu estou realmente já em execução.

Eu criei um segundo projeto na mesma caixa e usou as mesmas credenciais e certificados para construí-lo, e ele constrói e é executado através do iTunes sem problemas.

Foi útil?

Solução

Eu estava colocando a construção como um arquivo .app cru no Dropbox, e mesmo que codesign -vvvv AppName.app trabalhou na cópia do meu lado do Dropbox, que, aparentemente, tem mudado de alguma forma, no momento em que tinha atingido o testador. A certificação falhou, e a aplicação recusou-se a lançamento.

Este post foi fundamental para descobrir que este era o causa, e esta foi fundamental na descoberta a solução ( fechando o aplicativo usando zip MyApp.zip -r -y MyApp.app).

Outras dicas

Tente isolar o problema comentando o código é executado no carregamento, e veja se o seu aplicativo está carregando pelo menos sua janela principal. Então, código gradualmente uncomment e usar declarações NSLog para registrar os valores de suas variáveis ??inicializados (usando o depurador faz com que seu problema não ocorrer, então eu acho que NSLog é ok). Tente manter a inicialização pesado fora do segmento principal, com o lançamento de um dedicado um fundo, se você ver que seu aplicativo trava, tomando muito tempo para carregar tudo adiantado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top