Esiste un modo per simulare l'acquisizione di una schermata sul simulatore iOS (equivalente a casa + accensione sul dispositivo)? Il mio obiettivo NON è quello di salvare (cmd + s) o copiare una ripresa dello schermo (dalle voci del menu del simulatore) ma di catturare l'evento UIApplicationUserDidTakeScreenshotNotification.Come simulare l'acquisizione di uno screenshot nel simulatore iOS?
9
A
risposta
0
Anche io non riesco a rilevare UIApplicationUserDidTakeScreenshotNotification, ma perché non si utilizza questo codice per scattare schermate e rilevarle utilizzando le condizioni.
// // TAKE SCREENSHOT
CGRect myRect = [self.view bounds];
UIGraphicsBeginImageContext(myRect.size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
[[UIColor blackColor] set];
CGContextFillRect(ctx, myRect);
[self.view.layer renderInContext:ctx];
UIImage *viewimage = UIGraphicsGetImageFromCurrentImageContext();
NSData *imageData = UIImageJPEGRepresentation(viewimage, 1.0);
if(imageData!=NULL)
{
NSLog(@"user saved the image");
//Here you can detect the screen shots
[self.imagevieww setImage:[UIImage imageWithData:imageData]];
}
else
{
NSLog(@"user dont want to save image");
}
UIGraphicsEndImageContext();
4
No, questo non è attualmente possibile in iOS Simulator.
+1
È possibile se si allega un debugger. Vedi la mia risposta. –
1
Usa LLDB per imitare il NSNotification screenshot:
(lldb) expr [[NSNotificationCenter defaultCenter] postNotificationName:(NSNotificationName)UIApplicationUserDidTakeScreenshotNotification object:nil]
Passo --ignore-breakpoints false --
al comando expr
se si vuole fermare ad un punto di interruzione troppo:
(lldb) expr --ignore-breakpoints false -- [[NSNotificationCenter defaultCenter] postNotificationName:(NSNotificationName)UIApplicationUserDidTakeScreenshotNotification object:nil]
si potrebbe descrivere più su di esso. cosa hai provato! – nisar
Aggiornamento della risposta. Ho già provato a salvare la schermata o a copiare il ghetto dal menu del simulatore ma nessuno di questi ha attivato il gestore per UIApplucationUserDidTakeScreenshotNotification. –
puoi fare riferimento a questo link [collegamento] (http://stackoverflow.com/questions/13484516/ios-detection-of-screenshot) – nisar