我正在尝试访问存储在macOS Photos应用中的照片,并将此代码保存在ViewController类中。
import Cocoa
import Photos
class vcSecond: NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
let fetchOptions = PHFetchOptions()
fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: true)]
let identifiers = PHPhotoLibrary.localIdentifiers(PHPhotoLibrary())
let assets = PHAsset.fetchAssets(withLocalIdentifiers: identifiers, options: fetchOptions)
print(assets.count)
}
}
,我很努力地为fetchAssets方法获取localIdentifiers。 XCode给我错误“无法将类型'([[PHCloudIdentifier])-> [String]'的值转换为预期的参数类型'[String]'”。 iOS上有许多代码示例可用,而macOS则有很多不足。是否有人愿意分享一些代码和/或提供任何提示? 谢谢。
答案 0 :(得分:1)
好吧,如果您要做的就是访问照片,然后打开“照片”应用,只需将此代码段添加到您的控制器中即可
override func viewDidLoad() {
super.viewDidLoad()
NSWorkspace.shared.open(URL(fileURLWithPath: "/Applications/Photos.app"))
}
此外,请参见以下线程:How to get all PHAssets from MacOS's Photo Library