VLBCameraView - это библиотека, использующая AVFoundation для съемки.
В представлении отображается предварительный просмотр, который затем можно вызвать методом VLBCameraView # takePicture, чтобы сделать снимок.
Поставляется с CocoaPods.
Из документации:
ОБРАТНЫЕ ВЫЗОВЫ ЗАВЕРШЕНИЯ
Обратные вызовы завершения могут быть выполнены через вложенные вызовы функции dispatch_async(). Важно важно помнить о сохранении очереди назначения перед первым вызовом dispatch_async() и об освобождении этой очереди в конце обратного вызова завершения, чтобы убедиться, что очередь назначения не будет деаллоцирована, пока ожидается обратный вызов завершения. Например:
void
async_read(object_t obj,
void *where, size_t bytes,
dispatch_queue_t destination_queue,
void (^reply_block)(ssize_t r, int err))
{
// There are better ways of doing async I/O.
// This is just an example of nested blocks.
dispatch_retain(destination_queue);
dispatch_async(obj->queue, ^{
ssize_t r = read(obj->fd, where, bytes);
int err = errno;
dispatch_async(destination_queue, ^{
reply_block(r, err);
});
dispatch_release(destination_queue);
});
}