iPhone 照片库可用空间

Posted

技术标签:

【中文标题】iPhone 照片库可用空间【英文标题】:iPhone photo library free space 【发布时间】:2011-11-13 09:50:53 【问题描述】:

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

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

谢谢。

【问题讨论】:

***.com/questions/1249014/iphone-available-disk-space 和 ***.com/questions/7618722/… 和 ***.com/questions/2606474/… 和 ***.com/questions/5712527/… 的完全重复 可能重复:***.com/questions/178915/… 我不同意,这不是任何上述问题的重复。这些问题询问设备上的一般磁盘空间,而问题具体是关于使用照片库(而不是应用程序的文档文件夹)。有关更多信息,请参阅我的答案。 适用于 ios 8 的 PhotosFramework 有什么好消息吗?我们可以在保存前做这个检查吗? 【参考方案1】:

我做了一些检查,但在使用 ALAssetLibrary 时,Apple 似乎没有提供检查磁盘空间的方法。但是,它们确实提供了错误代码,由于磁盘空间问题,操作失败。

我建议您尝试保存图像并确保检查完成块中返回的错误并相应地通知用户。

ALAssetsLibraryWriteImageCompletionBlock 有一个 NSError 参数,可以是以下参数之一

错误代码 AssetsLibrary 相关错误码

enum 
   ALAssetsLibraryUnknownError =               -1,

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

   ALAssetsLibraryDataUnavailableError =       -3310,

   ALAssetsLibraryAccessUserDeniedError =      -3311,
   ALAssetsLibraryAccessGloballyDeniedError =  -3312,
;

如果您之前需要一些额外的检查,您可以使用 cmets 中提到的方法来查找设备上的可用磁盘空间,但不能保证 AssetLibrary 不会使用不同的逻辑来计算磁盘空间需求。

【讨论】:

不幸的是我没有找到任何方法来解决我的问题,一种可能的方法是尝试保存图像并在检查错误代码之后,正如你所写的!谢谢你,罗恩。 没问题。 iPhone SDK 并不完美。在这一点上,虽然我认为我的答案应该被接受为答案:)

以上是关于iPhone 照片库可用空间的主要内容,如果未能解决你的问题,请参考以下文章

手机空间满了怎么办?用 NAS 释出 iPhone 相簿空间!

当 iPhone 上的“可用存储空间不足...”时,相机应用程序不会关闭

在发送到服务器之前在 iPhone 中调整照片大小

iPhone上的存储空间/高清空间通过代码

iphone怎么把照片传到手机

iPhone:如何使用 iPhone 照片应用程序等“编辑”功能从照片库或相机中获取图像