Nosmai  Effects Nosmai  Moderation Nosmai Try-ons coming soon
Docs menu iOS
How-to guide

Record processed video on iOS

Start and stop a Nosmai recording, then handle the finalized temporary video URL.

Platform iOS SDK version 3.0.4 Updated Aug 22, 2026 Time 5 min

Prerequisites

Start recording

[[NosmaiCore shared] startRecordingWithCompletion:^(BOOL success, NSError *error) {
    if (!success) {
        NSLog(@"Recording did not start: %@", error.localizedDescription);
    }
}];

Stop and receive the video

[[NosmaiCore shared] stopRecordingWithCompletion:^(NSURL *videoURL,
                                                    NSError *error) {
    if (videoURL != nil) {
        NSLog(@"Video ready at %@", videoURL);
        return;
    }

    NSLog(@"Recording failed: %@", error.localizedDescription);
}];

The URL points to the finalized recording. Copy or export it before deleting temporary application data.

Lifecycle rule

Stop and finalize recording before switching camera, leaving the screen, or stopping processing. Ignore repeated record-button taps while a start or stop operation is in progress.

Verify it worked

Record a short clip with a visible effect, wait for the stop completion, and play the returned URL. Confirm orientation, effect output, duration, and audio.

Common errors

SymptomCauseFix
Recording does not startThe camera is not ready or recording is already activeWait for preview startup and guard duplicate starts
The returned URL disappears laterThe app kept a temporary URL without copying or exporting itMove the finalized file before temporary data is cleaned

Next steps

References

Was this page helpful?

Your response helps us prioritize documentation improvements.

Nosmai

An AR and AI company. Founded on the idea that the next decade of software will be visual, and that the tools for it should be within reach of anyone building.

Newsletter

Product updates and release notes. No spam.

© 2026 nosmai, inc · all rights reserved