我试图从iOS应用程序中的照片库中获取照片。我正在使用Photos框架。但是,我在尝试这样做的时候遇到了一个错误,即使我只是在获得授权时才这样做:
核心“从守护进程返回的错误: Domain=com.apple.accounts Code=7 "(null)"”
获取资产的代码如下所示:
func requestAuthorization() {
PHPhotoLibrary.requestAuthorization { [weak self] (status) in
guard let self = self else { return }
switch status {
case .authorized:
self.getAllPhotos()
case .denied:
break
case .notDetermined:
break
case .restricted:
break
@unknown default:
break
}
}
}
private func getAllPhotos() {
let assets: PHFetchResult = PHAsset.fetchAssets(with: .image, options: nil)
// rest of the codebase
}发布于 2020-05-19 19:13:32
你好,下面是工作代码的示例:
public enum FetchResults {
case success(response: [PHAsset])
case error(error: Error)
}
public static func fetch(_ completion: @escaping (FetchResults) -> Void) {
guard PHPhotoLibrary.authorizationStatus() == .authorized else {
let error: NSError = NSError(domain: "PhotoLibrary Error", code: 1, userInfo: [NSLocalizedDescriptionKey: "No PhotoLibrary Access"])
completion(FetchResults.error(error: error))
return
}
DispatchQueue.global(qos: .userInitiated).async {
let fetchResult = PHAsset.fetchAssets(with: .image, options: PHFetchOptions())
if fetchResult.count > 0 {
var assets = [PHAsset]()
fetchResult.enumerateObjects { object, _, _ in
assets.insert(object, at: 0)
}
DispatchQueue.main.async {
completion(FetchResults.success(response: assets))
}
}
}https://stackoverflow.com/questions/61897733
复制相似问题