Parece que no hay una forma directa de hacer esto para detectar si el usuario ha hecho tapping home + power button
. Según esto , fue posible antes mediante el uso de la notificación de Darwin, pero ya no funciona. Dado que Snapchat ya lo está haciendo, supongo que están revisando el álbum de fotos del iPhone para detectar si hay una nueva imagen agregada entre estos 10 segundos, y de alguna manera se están comparando con la imagen actual que se muestra. Puede haber algún procesamiento de imagen para esta comparación. Solo un pensamiento, probablemente pueda intentar expandir esto para que funcione. Mira esto para más detalles .
Editar:
Parece que podrían estar detectando el evento de cancelación de UITouch (la captura de pantalla cancela los toques) y mostrando este mensaje de error al usuario según este blog: Cómo detectar capturas de pantalla en iOS (como SnapChat)
En ese caso, puede utilizar el – touchesCancelled:withEvent:
método para detectar la cancelación de UITouch para detectar esto. Puede eliminar la imagen en este método de delegado y mostrar una alerta apropiada al usuario.
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesCancelled:touches withEvent:event];
NSLog(@"Touches cancelled");
[self.imageView removeFromSuperView]; //and show an alert to the user
}