Захваченное видео на iPhone, пытаясь переместить его в другой каталог - PullRequest
0 голосов
/ 12 августа 2011

Используя UIImagePickerController, я снял видео. Когда я вызываю [picker stopVideoCapture], тогда вызывается следующий метод делегата:

- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{

    NSURL *url = [info objectForKey:UIImagePickerControllerMediaURL];

    NSError *error = nil;

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *path = [paths objectAtIndex:0];

    NSFileManager *fileManager = [[NSFileManager alloc] init];

    NSLog(@"attempting to copy: %@ to: %@", [url absoluteString], [NSString stringWithFormat:@"%@/rawMovie.MOV",path]);


if ([fileManager moveItemAtPath:[url absoluteString] toPath:[NSString stringWithFormat:@"%@/rawMovie.MOV",path] error:&error] != YES)
    NSLog(@"Can't move file with error: %@", [error localizedDescription]);

}

Однако, когда этот метод вызывается, он возвращает сообщение об ошибке:

The operation couldn’t be completed. (Cocoa error 4.)

Насколько я могу судить, это означает, что файл не может быть скопирован по неизвестной причине. Кто-нибудь может дать мне лучший ответ относительно того, почему эта ошибка выбрасывается? Или, что еще лучше, кто-нибудь может сказать мне лучший способ сохранить захваченное видео непосредственно в каталог документов приложения?

Спасибо, Джеймс

Ответы [ 2 ]

1 голос
/ 12 августа 2011

Я думаю, вам нужно использовать файловый менеджер по умолчанию:

NSFileManager* fileManager = [NSFileManager defaultManager];

Вы также можете зарегистрировать информацию об ошибке пользователя (надеюсь) для более подробной информации.

NSLog(@"Can't move file with error: %@", [error userInfo]);
1 голос
/ 12 августа 2011

Почему вы не ставите точки останова и не видите вывод *path и url. Также у вас достаточно места на диске для хранения видео на устройстве?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...