1

我想将照片保存在照片库中,但在此之前我需要知道是否有足够的可用空间来做这件事。我如何知道是否有足够的可用空间将我的图片保存在照片库中?

我的问题是我需要从服务器下载图像,但决定是否这样做包括照片库应用程序中是否有足够的空间。

谢谢你。

4

1 回答 1

3

我做了一些检查,苹果似乎没有在使用 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 不会使用不同的逻辑来计算磁盘空间需求。

于 2011-11-13T18:09:42.433 回答