UIScreenCapture 0.0.5

UIScreenCapture 0.0.5

LangLanguage Obj-CObjective C
License MIT
ReleasedLast Release Jan 2016

Maintained by Chris Anderson.

  • By
  • Chris Anderson

Simply capture screenshots and create screen recordings from code.



Capture Screen Recording

// Initialize the screen capture
UIScreenCapture *screenCapture = [UIScreenCapture new];
screenCapture.height = 480.0;
screenCapture.width = 640.0;
screenCapture.frameRate = 15.0;
screenCapture.completionBlock = ^(NSURL *fileURL) {
    NSLog(@"Finished! Video located at: %@", fileURL);

// Begin screen capture
[screenCapture startRecording];

dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 10 * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){

    // Stop screen capture after ten seconds
    [screenCapture stopRecording];

Take Screenshot

[UIScreenCapture takeSnapshot];


// Variables
@property (nonatomic) CGFloat height;
@property (nonatomic) CGFloat width;
@property (nonatomic) CGFloat frameRate;
@property (nonatomic, strong) UIView *view; // If you wish to capture something other than the whole screen
@property (nonatomic, copy) UIScreenCaptureCompletion completionBlock;

// Record screen
- (void)startRecording;
- (void)stopRecording;

// Create video from images
- (void)createVideoFromImageURLs:(NSArray *)urls withCompletion:(UIScreenCaptureCompletion)completion;
- (void)createVideoFromImages:(NSArray *)images withCompletion:(UIScreenCaptureCompletion)completion;

// Snapshots
+ (UIImage *)takeSnapshot;
+ (UIImage *)takeSnapshotWithSize:(CGSize)size;
+ (UIImage *)takeSnapshotWithSize:(CGSize)size view:(UIView *)view;
+ (NSData *)takeSnapshotGetJPEG;
+ (NSData *)takeSnapshotGetJPEG:(CGFloat)quality;
+ (NSData *)takeSnapshotGetJPEG:(CGFloat)quality size:(CGSize)size;


Chris Anderson:


UIScreenCapture is available under the MIT license. See the LICENSE file for more info.