Atualmente, estou desenvolvendo um aplicativo que recebe notificações por push. Eu tenho tudo isso funcionando 100% através de uma página PHP. Existem vários tipos diferentes de notificações por push que meu aplicativo pode receber. O PHP lida com isso e envia diferentes pacotes de informações para o meu aplicativo, todos recebidos muito bem.
No entanto, quando os usuários "visualizam" a notificação e meu aplicativo é iniciado, eu obviamente quero tomar uma ação diferente da que faria se o usuário tivesse iniciado o aplicativo manualmente - e, além disso, ações diferentes, dependendo do tipo de notificação por push. Eu tenho isso funcionando bem ... estruturalmente.
Um dos meus tipos de push deve abrir um UIView que faça várias conexões com vários servidores diferentes e negocie dados entre si. Esse UIView funciona bem quando, por exemplo, é acionado no menu principal - no entanto, quando minha notificação por push está acionando esse UIView para aparecer, as conexões do soquete não estão funcionando conforme o esperado.
Agora, minha pergunta não é sobre os soquetes, mas mais ainda - Como você depura esse problema? Pelo que posso dizer (sou relativamente novo) quando o aplicativo foi iniciado a partir de uma notificação por push, não há como vincular essa execução ao depurador / console / etc ... Estou tendo muita dificuldade em tentar depurar o código usando UIAlertViews, pois existem muitas linhas de comunicação entre os vários servidores.
Qualquer conselho que você tiver para mim seria muito apreciado.
fonte
Para o Xcode 4, você precisa:
Mais aqui na seção "Personalizar executáveis no Editor de esquema".
EDIT:
Caso você perca registros no GDB, consulte o comentário de Louis Gerbarg em sua resposta.
fonte
Para XCode 10, 9, 8, 7 e 6:
Agora você pode depurar ao iniciar a partir de uma notificação, URL personalizado ou tocando no ícone do aplicativo.
fonte
Como não estou trabalhando com notificações por push, não sei o funcionamento exato das notificações por push. No entanto, eu tentaria imitar o recebimento de uma notificação por push, deixando o método principal do seu programa fingir que uma notificação foi postada, se possível, ou chamando o aplicativo: didFinishLaunchingWithOptions: UIApplicationDelegate no método applicationDidFinishLaunching:.
HTH - Saúde, Daan
fonte
No Xcode 6:
Debug
>Attach to Process
> Escolha seu Appfonte
Para o XCode 11 e 10, você pode fazer o seguinte:
Escolha Editar esquema.
Selecione a opção Executar no painel esquerdo
Na parte de inicialização, selecione aguardar o lançamento do executável e feche a caixa de diálogo.
Crie e execute o projeto. Agora você pode iniciar o aplicativo tocando no ícone do aplicativo ou na mensagem de notificação.
fonte