2015-01-29 9 views
9

क्या आईओएस सिम्युलेटर (डिवाइस पर घर + बिजली के बराबर) पर स्क्रीन शॉट लेने का अनुकरण करने का कोई तरीका है? मेरा लक्ष्य सहेजना नहीं है (cmd + s) या स्क्रीन के शॉट (सिम्युलेटर मेनू आइटम से) की प्रतिलिपि बनाएँ, लेकिन UIApplicationUserDidTakeScreenshotNotification ईवेंट को कैप्चर करने के लिए।आईओएस सिम्युलेटर में एक स्क्रीनशॉट लेने के अनुकरण कैसे करें?

+0

आप इसके बारे में उनका विवरण दे सकता है। आपने क्या कोशिश की! – nisar

+0

उत्तर अपडेट किया गया। मैंने स्क्रीन शॉट को सहेजने या सिम्युलेटर मेनू से स्क्री की प्रतिलिपि बनाने की कोशिश की है, लेकिन उनमें से कोई भी UIAplplucationUserDidTakeScreenshotNotification के लिए हैंडलर ट्रिगर नहीं किया है। –

+0

क्या आप इस लिंक को लिंक कर सकते हैं [लिंक] (http://stackoverflow.com/questions/13484516/ios-detection-of-screenshot) – nisar

उत्तर

0

मैं भी यूआईपीप्लिकेशंस यूसरडिडटेकस्क्रीनशॉट नोटिफिकेशन का पता लगाने में सक्षम नहीं हूं, लेकिन आप स्क्रीन शॉट्स लेने और शर्तों का उपयोग करके उनका पता लगाने के लिए इस कोड का उपयोग क्यों नहीं करते हैं।

// // 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

नहीं, यह वर्तमान में आईओएस सिम्युलेटर में संभव नहीं है। expr आदेश को

(lldb) expr [[NSNotificationCenter defaultCenter] postNotificationName:(NSNotificationName)UIApplicationUserDidTakeScreenshotNotification object:nil] 

पास --ignore-breakpoints false -- यदि आप एक ब्रेकप्वाइंट पर भी बंद करना चाहते हैं:

+1

यदि आप डीबगर संलग्न करते हैं तो यह संभव है। मेरा जवाब देखें –

1

LLDB स्क्रीनशॉट का उपयोग NSNotification नकल करने के लिए

(lldb) expr --ignore-breakpoints false -- [[NSNotificationCenter defaultCenter] postNotificationName:(NSNotificationName)UIApplicationUserDidTakeScreenshotNotification object:nil] 
संबंधित मुद्दे