Схоже, немає прямого способу це визначити, чи користувач натиснув на нього home + power button
. Згідно з цим , це було можливо раніше, використовуючи повідомлення Дарвіна, але воно більше не працює. Оскільки Snapchat вже робить це, я гадаю, що вони перевіряють фотоальбом iPhone, щоб виявити, чи є нова фотографія, додана між ними протягом цих 10 секунд, і якимось чином вони порівнюють із поточним відображеним зображенням. Можливо, для цього порівняння робиться деяка обробка зображень. Просто думка, напевно, ви можете спробувати розширити це, щоб змусити його працювати. Перевірте це для отримання більш детальної інформації .
Редагувати:
Схоже, вони можуть виявити подію скасування UITouch (захоплення екрану скасовує дотики) та показувати це повідомлення про помилку користувачеві відповідно до цього блогу: Як виявити знімки екрана на iOS (наприклад, SnapChat)
У цьому випадку ви можете використовувати – touchesCancelled:withEvent:
метод, щоб зрозуміти скасування UITouch для виявлення цього. Ви можете видалити зображення в цьому способі делегування та показати відповідне попередження користувачеві.
- (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
}