свободное место для библиотеки фотографий iPhone - PullRequest
1 голос
/ 13 ноября 2011

Я хочу сохранить фотографию в библиотеке фотографий, но перед этим мне нужно знать, достаточно ли свободного места для этого. Как я могу узнать, достаточно ли свободного места для сохранения моей фотографии в библиотеке фотографий?

Моя проблема в том, что мне нужно загрузить изображение с сервера, но решение сделать это включает, если в приложении Photo Library достаточно места.

Спасибо.

1 Ответ

3 голосов
/ 13 ноября 2011

Я провел некоторую проверку, и не похоже, что Apple предоставляет способ проверки дискового пространства при использовании ALAssetLibrary.Однако они предоставляют код ошибки, если операция не удалась из-за проблемы с местом на диске.

Я предлагаю вам просто попытаться сохранить изображение и убедиться, что вы проверили ошибку, возвращенную в блоке завершения, и соответственно уведомить пользователя.

ALAssetsLibraryWriteImageCompletionBlock имеет аргумент NSError, который может быть одним из следующих

Коды ошибок AssetsLibrary Коды ошибок, связанные с библиотекой

enum {
   ALAssetsLibraryUnknownError =               -1,

   ALAssetsLibraryWriteFailedError =           -3300,
   ALAssetsLibraryWriteBusyError =             -3301,
   ALAssetsLibraryWriteInvalidDataError =      -3302,
   ALAssetsLibraryWriteIncompatibleDataError = -3303,
   ALAssetsLibraryWriteDataEncodingError =     -3304,
   ALAssetsLibraryWriteDiskSpaceError =        -3305,

   ALAssetsLibraryDataUnavailableError =       -3310,

   ALAssetsLibraryAccessUserDeniedError =      -3311,
   ALAssetsLibraryAccessGloballyDeniedError =  -3312,
};

Если вы хотите выполнить некоторые дополнительные проверки ранее, вы можете использовать метод, упомянутый в комментариях, чтобы найти доступное дисковое пространство на устройстве, нонет гарантии, что AssetLibrary не использует другую логику для расчета требований к дисковому пространству.

...