delightio / delight.ios

2 stars 0 forks source link

Delight IO

Basic Setup

  1. Sign up on http://delight.io to receive your app token.

  2. Add Delight.framework to your target. Also make sure the following frameworks are linked:

    • AVFoundation
    • CoreGraphics
    • CoreMedia
    • CoreVideo
    • QuartzCore
    • SystemConfiguration
  3. In your build settings, add -ObjC to "Other Linker Flags".

  4. In your application delegate, #import <Delight/Delight.h>. In applicationDidFinishLaunching:withOptions:, call [Delight startWithAppToken:] along with the app token obtained from step 1.

Advanced Setup

Annotation

An annotated session can be started by calling [Delight startWithAppToken:annotation:]. For example, to record the front-facing camera in addition to the screen, pass DLAnnotationFrontVideoAndAudio as the annotation parameter.

Stopping the Recording

By default, recording will stop when the user presses the device's home button or after 10 minutes, whichever comes first. To stop recording earlier, call [Delight stop].

After a recording has been stopped, it is not possible to restart it again in that session.

Tracking Events

You can attach arbitrary events to recordings by calling [Delight trackEvent:info:]. Watch recordings of your user flows by selecting the specific events.

Debug Log

By default, debug log statements from Delight are suppressed. To turn them on, call [Delight setDebugLogEnabled:YES].

OpenGL ES

To record applications that use OpenGL ES, you must link DelightPrivate.framework instead of Delight.framework. This is a special version of Delight that uses private APIs, and is able to record OpenGL layers at high frame rates. Follow the same steps as in the Basic Setup, but change the import statement to #import <DelightPrivate/Delight.h>.

Note: Since DelightPrivate.framework uses private APIs, it should not be used in App Store builds.

Private Views

Registering / Unregistering

You may not want to record certain views, such as password prompts. Call [Delight registerPrivateView:description:] with a view and a descriptive text to make a view private (will appear blacked out in the recording). You must call [Delight unregisterPrivateView:] before the view is deallocated. [Delight privateViews] will return an NSSet of all private views currently registered.

Note that UITextFields with the secureTextEntry property set to true are automatically registered as private views.

Hiding the Keyboard

To allow/prevent the keyboard from being recorded, call [Delight setHidesKeyboardInRecording:]. When set to YES, the keyboard area will be covered up by a grey box in the recording and keystroke gestures will not be drawn. By default, the keyboard is shown in the recording, except for when the user is entering text into a secure UITextField.

Viewing Recordings

Log in to your control panel at delight.io to view your recordings. You can filter your recordings by version and build, as defined in your application's Info.plist file.

Troubleshooting