2011-11-13 21 views
1

フォトライブラリに写真を保存したいのですが、これを行う前に、十分な空き容量があるかどうかを知る必要があります。 フォトライブラリに写真を保存するのに十分な空き容量があるかどうかを知る方法はありますか?iPhoneフォトライブラリの空き容量

私の問題は、サーバーからイメージをダウンロードする必要がありますが、Photo Libraryアプリケーションに十分なスペースがある場合は、それを行うことを決定することです。

ありがとうございます。

+0

http://stackoverflow.com/questions/1249014/iphone-available-disk-spaceとhttp://stackoverflow.com/questions/7618722/detect-no-disk-space-iphone-sdkの完全な重複http://stackoverflow.com/questions/2606474/how-do-i-find-out-iphone-disk-space and http://stackoverflow.com/questions/5712527/ios-how-to-detect-total- iphone-ipad-device-available-free-disk-spaceデバイス – Polynomial

+0

可能な複製:http://stackoverflow.com/questions/178915/how-to-save-picture-to-iphone-photo-library – aleroot

+0

私は同意しません、これは言及された質問のいずれかの複製ではありません。これらの質問は、デバイス上の一般的なディスク容量について質問しますが、質問はフォトライブラリの使用に関するものです(アプリのドキュメントフォルダとは対照的です)。もっと私の答えを見てください。 –

答えて

3

私はいくつかの点検を行い、AppleがALAssetLibraryを使用しているときにディスク容量をチェックする方法を提供しているようには見えません。ただし、エラーコードを指定すると、ディスク領域の問題により操作が失敗しました。

イメージを保存して、完了ブロックで返されたエラーを確認し、それに応じてユーザーに通知することをお勧めします。

ALAssetsLibraryWriteImageCompletionBlockはあなたが前にいくつかの追加のチェックをしたい場合は、あなたが言及した方法を使用することができ、次の

エラーコード AssetsLibrary関連のエラーコード

enum { 
    ALAssetsLibraryUnknownError =    -1, 

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

    ALAssetsLibraryDataUnavailableError =  -3310, 

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

のいずれかになりますNSError引数を持っていますデバイス上で使用可能なディスクスペースを見つけるためのコメントがありますが、AssetLibraryはディスクスペース要件を計算するために別のロジックを使用しないという保証はありません。

+0

残念ながら、私は自分の問題を解決する方法を見つけられませんでした。そして、あなたが書いたように、このチェックエラーコードの後に​​イメージを保存しようとしています! ありがとう、ロン。 – Alexander

+0

問題ありません。 iPhone SDKは完璧ではありません。私の答えは答えとして受け入れられるべきだと思うが、この時点では:) –

関連する問題