如何在macOS上的``照片''应用中访问照片

时间:2018-12-27 14:06:18

标签: swift phasset phphotolibrary

我正在尝试访问存储在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则有很多不足。是否有人愿意分享一些代码和/或提供任何提示? 谢谢。

1 个答案:

答案 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