用swift写一个提取iPhone手机相册照片的代码
时间: 2024-03-25 13:37:55 浏览: 14
首先,你需要导入Photos框架:
```swift
import Photos
```
然后,在获取相册访问权限之前,你需要在Info.plist文件中添加相册访问权限的描述,这样才能在运行时请求权限。
接下来,你可以使用如下代码来请求相册访问权限:
```swift
PHPhotoLibrary.requestAuthorization { status in
switch status {
case .authorized:
// 访问已授权
case .denied, .restricted:
// 访问未授权
case .notDetermined:
// 用户还没有做出决定
default:
break
}
}
```
一旦你获得了相册访问权限,就可以使用如下代码来获取所有照片:
```swift
let fetchOptions = PHFetchOptions()
fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]
let fetchResult: PHFetchResult = PHAsset.fetchAssets(with: .image, options: fetchOptions)
if fetchResult.count > 0 {
for i in 0..<fetchResult.count {
let asset = fetchResult.object(at: i)
let options = PHImageRequestOptions()
options.isSynchronous = true
PHImageManager.default().requestImage(for: asset, targetSize: CGSize(width: 100, height: 100), contentMode: .aspectFill, options: options, resultHandler: { image, info in
// 你可以在这里获取照片
})
}
}
```
这段代码会获取所有的照片,并且对每一张照片都会使用PHImageManager来获取缩略图。如果你想获取原图,你可以将targetSize设为PHImageManagerMaximumSize。