Удаление NSUserActivity по постоянному идентификатору не работает - PullRequest
0 голосов
/ 11 октября 2019

Я создал NSUserActivity следующим образом:

let attributeSet = CSSearchableItemAttributeSet(itemContentType: kUTTypeItem as String)
attributeSet.title = "Title"
attributeSet.contentDescription = "Description"

let activity = NSUserActivity(activityType: "com.domainName.appName.activity")
activity.persistentIdentifier = "com.domainName.appName.activity"
activity.title = "Title"
activity.userInfo = ["Activity.key": data]
activity.requiredUserInfoKeys = ["Activity.key"]
activity.suggestedInvocationPhrase = "Phrase"
activity.keywords = ["Key", "Word"]
activity.isEligibleForHandoff = true
activity.isEligibleForSearch = true
activity.isEligibleForPrediction = true
activity.contentAttributeSet = attributeSet

self.userActivity = activity
activity.becomeCurrent()

И если пользователь завершил эту задачу, я хочу сделать недействительной и удалить эту NSUserActivty:

func invalidateUserActivity() {
    self.userActivity!.invalidate()
    NSUserActivity.deleteSavedUserActivities(withPersistentIdentifiers: ["com.domainName.appName.activity"], completionHandler: {})
    //NSUserActivity.deleteAllSavedUserActivities {}
}

Моя проблемапока deleteAllSavedUserActivities (закомментированная версия) работает, deleteSavedUserActivities(withPersistentIdentifiers:) - нет. Поскольку у меня несколько NSUserActivity s, я хочу удалить их по их постоянному идентификатору, как я могу это сделать?

...