Как получить доступ к фотографиям в приложении Фотографии на 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