Sepertinya tidak ada cara langsung untuk melakukan ini untuk mendeteksi jika pengguna telah mengetuk home + power button
. Sesuai ini , itu mungkin sebelumnya dengan menggunakan notifikasi darwin, tetapi tidak berfungsi lagi. Karena snapchat sudah melakukannya, tebakan saya adalah mereka sedang memeriksa album foto iPhone untuk mendeteksi apakah ada gambar baru yang ditambahkan di antara 10 detik ini, dan di suatu tempat mereka membandingkan dengan gambar saat ini yang ditampilkan. Mungkin beberapa pemrosesan gambar dilakukan untuk perbandingan ini. Hanya sebuah pemikiran, mungkin Anda dapat mencoba mengembangkan ini untuk membuatnya bekerja. Periksa ini untuk lebih jelasnya .
Edit:
Sepertinya mereka mungkin mendeteksi acara pembatalan UITouch (Pengambilan layar membatalkan sentuhan) dan menampilkan pesan kesalahan ini kepada pengguna sesuai blog ini: Cara mendeteksi tangkapan layar di iOS (seperti SnapChat)
Jika demikian, Anda dapat menggunakan – touchesCancelled:withEvent:
metode untuk merasakan pembatalan UITouch untuk mendeteksi hal ini. Anda dapat menghapus gambar dalam metode delegasi ini dan menunjukkan peringatan yang sesuai kepada pengguna.
- (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
}