2013-08-23 22 views
0

對於我正在開發的一個小程序,我需要找到設備內部的圖像和照片列表,在這種情況下,iPhone模擬器(我保存了一些從互聯網拍攝的圖像)。我現在在Android中提供了「android.database」API內的「Cursor」。 Objective C中有類似的東西嗎? 我發現本教程有趣:How I get all the images from a perticular folder(iPhone)?,但在這種情況下,用戶手動傳遞路徑。在我的情況下,我不知道圖像的路徑,所以我需要使用在路徑中自動搜索的內容。 我也看到,對於這個問題,AssetsLibrary框架可以幫助,但我是新的Objective C編程,我不知道它是否是我需要的。查找設備中的照片列表

感謝您的幫助。

+0

看到此鏈接http://stackoverflow.com/questions/14531912/storing-images-locally-on-an-ios-device – Deepesh

+0

如果您需要從設備訪問照片,必須使用AssetsLibrary。沙箱不允許您訪問應用文件夾外的任何內容,因此沒有「包含設備上所有照片的文件夾路徑」這樣的內容 - 因爲該應用無論如何都無法看到該文件夾​​。 –

+0

我需要訪問設備中照片的信息。例如用fotocamera完成的照片或從互聯網下載。我需要找到他們的路徑,名稱,寬度和高度。我只需要閱讀這些信息。 – Hieicker

回答

1

我自己使用這個框架,它證明是非常有幫助的。使用AssetsLibrary框架,您可以從info字典獲取referenceURL並獲取資產。事情是這樣的:

NSURL *assetURL = [info objectForKey:UIImagePickerControllerReferenceURL]; 

__block NSString *fileName = nil; 

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; 
[library assetForURL:assetURL resultBlock:^(ALAsset *asset) 
{ 
    fileName = asset.defaultRepresentation.fileName; 
} 
failureBlock:nil]; 
+0

感謝believe_anky,它會自動搜索設備中的路徑嗎?我正在嘗試使用它。我已經聲明ALAssetLibrary,並試圖使用enumerateGroupsWithTypes來枚舉它。 – Hieicker

+0

是的,它會自動打開您的畫廊中的文件夾。 –

+0

好的完美謝謝! – Hieicker

1

假設您對由iOS Photos應用程序管理的照片感興趣,那麼AssetsLibrary框架將成爲您的選擇。

尤其是ALAssetsLibrary應該是一個很好的起點,看看它是否做你想做的事情。

Apple通常在類引用中包含對示例項目的引用,您可以使用該引用來查看該類正在執行中,例如此例中的MyImagePicker項目。

+0

感謝您的信息。我會看到更好的ALAssetsLibrary和MyImagePicker。我需要找到一些關於它的商品教程。現在我搜索... – Hieicker