Capturing a screen as videos on iOS devices for user testing.
- Screen capture
- Show touch pointer
- Autosave and file rotation
- Change FPS
###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
###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
KTouchPointerWindow
https://github.com/itok/KTouchPointerWindow
ScreenRecorder is available under the MIT license. See the LICENSE file for more info.