fileURLWithPath:composedMoviePath]; // export [assetExportSession exportAsynchronouslyWithCompletionHandler: ^(void ) { // save to device ALAssetsLibrary* library = [[ALAssetsLibrary alloc] init]; if ([library videoAtPathIsCompatibleWithSavedPhotosAlbum:composedMovieUrl]) { [library writeVideoAtPathToSavedPhotosAlbum:composedMovieUrl completionBlock:^(NSURL *assetURL, NSError *assetError) { ! // it does not stop the main thread dispatch_async(dispatch_get_main_queue(), ^{ ! NSLog(@"saved"); }); }]; } }];