Как получить доступ к фотографиям в приложении Фотографии на macOS

Я пытаюсь получить доступ к фотографиям, хранящимся в приложении 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)
}
}

и я боролся с получением localIdentifiers для метода fetchAssets. XCode выдает мне ошибку "Невозможно преобразовать значение типа" ([PHCloudIdentifier]) -> [String]'в ожидаемый тип аргумента'[String]'". Есть много примеров кода, доступных для iOS, но много для MacOS. Кто-нибудь готов поделиться некоторыми кодами и / или предоставить какие-либо подсказки? Благодарю.

1 ответ

Решение

Хорошо, если все, что вы пытаетесь сделать, это получить доступ к фотографиям, а затем открыть приложение Photo, просто добавьте этот фрагмент кода в свой контроллер.

override func viewDidLoad() {
    super.viewDidLoad()

    NSWorkspace.shared.open(URL(fileURLWithPath: "/Applications/Photos.app"))
}

Также смотрите эту ветку: Как получить все PHAssets из библиотеки фотографий MacOS

Другие вопросы по тегам