3

我有一个包含视频内容的应用程序,我跟踪所有查看的项目NSUserActivity以将其添加到 Spotlight。结果看起来很完美,除了年份日期,它总是NSUserActivity被添加到索引中的年份。但我需要将其更改为电影的发行年份。

Spotlight 中的电影项目表示

let activity = NSUserActivity(activityType: "com.bundleid.movie")
activity.isEligibleForSearch = true
activity.title = "Mess"
let movie = kUTTypeMovie as String
let attributes = CSSearchableItemAttributeSet(itemContentType: movie)
attributes.title = "Mess"
attributes.contentDescription = "Even if you get behind bars..."
attributes.thumbnailData = try? Data(contentsOf: thumbURL) // cover
attributes.rating = NSNumber(value: 3.7)
attributes.ratingDescription = "(Kinopoisk: 7.9, IMDb: 7.4)"
attributes.duration = NSNumber(value: 5785) // 1:36:25 in sec
attributes.contentCreationDate = dateFormatter.date(from: "1989") // ¯\_(ツ)_/¯
activity.contentAttributeSet = attributes

我不仅尝试设置,attributes.contentCreationDate而且还addedDate尝试设置CSSearchableItemAttributeSet_Media.h. 但它总是2018

4

1 回答 1

1

我能够重现这一点。

但是,当我把它CSSearchableItemAttributeSet不是放在 a 中NSUserActivity而是放在 aCSSearchableItem中并用 索引它时CSSearchableIndex.default().indexSearchableItems(),搜索结果会1989按需要显示。

这对你有用吗?

于 2018-03-01T14:56:14.413 回答