Q:

Como saber quando o app é desistalado no iOS?

Estou desenvolvendo um aplicativo que envia notificação por push, mas para que meu servidor não envie notificações para os dispositivos dos quais meu aplicativo foi desinstalado e não poluir o meu servidor, como eu poderia saber quando o usuário desinstalou meu aplicativo?

A:

Não tem como determinar se um aplicativo foi desinstalado do sistema.
Porém existe um serviço de feedback que é destinado para informar sobre falhas no envio das notificações, ou seja, quando ela não consegue ser entregue justamente porque o dispositivo de destino não possui mais o aplicativo.
A informação que você obtém desse serviço é uma lista de tokens, então, como bem recomendado na documentação, você pode chamar esse serviço diariamente para obter essa lista e fazer uma limpeza em sua base de dados quando necessário.
Links de exemplos usando PHP para obter os feedback:
1 - https://stackoverflow.com/questions/1278834/php-technique-to-query-the-apns-feedback-server
2 - https://stackoverflow.com/questions/4774681/php-script-for-apple-push-notification-feedback-service-gets-timeout-every-time
3 - https://stackoverflow.com/questions/15943671/how-get-feedback-from-apns-when-sending-push-notification

