Я создал 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, я хочу удалить их по их постоянному идентификатору, как я могу это сделать?