Capturing a screen as videos on iOS devices for user testing.
Objective-C
Switch branches/tags
Nothing to show
Clone or download
Latest commit 28c4775 Jul 26, 2017

README.md

ScreenRecorder

Capturing a screen as videos on iOS devices for user testing.

Features

  • Screen capture
  • Show touch pointer
  • Autosave and file rotation
  • Change FPS

Setup

###1. Add the files
Copy the files you need to your project folder, and add them to your Xcode project.

  • Lib/SRScreenRecorder.h
  • Lib/SRScreenRecorder.m
  • Vendor/KTouchPointerWindow.h
  • Vendor/KTouchPointerWindow.m

###2. Link with the frameworks

  • QuartzCore.framework
  • CoreVideo.framework
  • CoreMedia.framework
  • AVFoundation.framework

Usage

###Basic

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [[SRScreenRecorder sharedInstance] startRecording];
    return YES;
}

In default settings,

  • save movie file automatically on enter background
  • and auto rotate save files every 10 minutes
  • movie file saved at document directory, named 'TIMESTAMP.mov'
  • 30 FPS
  • shows touch pointer

###Customize

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    SRScreenRecorder *recorder = [SRScreenRecorder sharedInstance];
    recorder.frameInterval = 1; // 60 FPS
    recorder.autosaveDuration = 1800; // 30 minutes
    recorder.showsTouchPointer = NO; // hidden touch pointer
    recorder.filenameBlock = ^(void) {
        return @"screencast.mov";
    }; // change filename
    
    [recorder startRecording];
    
    return YES;
}

###When submit to AppStore if includes this library, define APPSTORE_SAFE macro to eliminate using undocumented API

#define APPSTORE_SAFE 1

3rd party libraries

KTouchPointerWindow
https://github.com/itok/KTouchPointerWindow

License

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