2014-09-17 2 views
0

Я столкнулся с этой проблемой, когда устройству не хватает места для сохранения видеофайла, который присутствует в NSDocumentsDirectory, в библиотеке фотографий.Сохранение видео в библиотеке устройств iOS?

Проблема заключается в том, что UISaveVideoAtPathToSavedPhotosAlbum не создает никаких ошибок при сохранении.

UISaveVideoAtPathToSavedPhotosAlbum(session.outputURL.path, self, @selector (video:didFinishSavingWithError:contextInfo:), nil); //session is AVAssetExportSession 


- (void)video:(NSString *)videoPath didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo 
{ 
    [MBProgressHUD hideHUDForView:self.view animated:YES]; 

    if(error) //else part is executed every time... 
    { 
     ALERT_WITH_MESSAGE([@"Your composition could not be saved to your device library. Error: " stringByAppendingString:error.description]); 
    } 

    else 
    { 
     ALERT_WITH_MESSAGE(@"Your composition has been saved to your device library."); 
    } 
} 
+0

Сначала проверьте, достаточно ли свободного места на вашем устройстве или нет, если да, то только начать загрузку в противном случае не требуется. if (freeSpace> downlaodSize), то только. – Mrunal

+0

Я использовал код из этой ссылки (http://aasims.wordpress.com/2012/02/14/how-to-find-available-disk-space-of-ios-device/), чтобы определить свободное пространство на мое устройство. К сожалению, устройство показало 12,2 мб влево, а код говорит 222 мб. – Nil

+0

Проверьте http://stackoverflow.com/questions/5310445/check-enough-space-on-iphone-device-before-downloading-files freeSpace = [файлSystemFreeSizeInBytes longValue]; – user3344236

ответ

-3

Если вы имеете в виду ALERT_WITH_MESSAGE оно не отображается, попробуйте комментарий [MBProgressHUD hideHUDForView: self.view анимированный: YES]; или добавить некоторую задержку ... {иногда этот HUD рассматривается как само предупреждение}

+0

Пользователь сказал, что ошибка не выбрасывается, а не отображается предупреждение. – nikhil84

+0

Прочтите код. if (error) -> показать предупреждение, поэтому я попросил отобразить предупреждение. Вы уменьшили скорость: D Nevermind. .in =)) – user3344236

+0

Я прочитал запрос, как это «if (error) // else part выполняется каждый раз ... », так что человек сказал, что еще что-то выполнялось, что подразумевает, что ошибка не была (поскольку исполнение входило в другую часть, а не если часть) – nikhil84

Смежные вопросы