Я определяю функцию приложения, используя NSUserActivity, поэтому она отображается в Spotlight и Siri Shortcuts:
let activity = NSUserActivity(activityType: "com.myapp.siriTest")
activity.title = "Test function"
activity.userInfo = ["parameter" : "test"]
activity.isEligibleForSearch = true
activity.isEligibleForPrediction = true
activity.persistentIdentifier = NSUserActivityPersistentIdentifier(rawValue: "com.myapp.siriTest")
view.userActivity = activity
activity.becomeCurrent()
Эта часть работает нормально, после вызова вышеуказанной функции кнопка «Функция тестирования» появляется в Spotlight иСсылки.Если я запускаю приложение с этой целью, я могу прослушать его в моем AppDelegate:
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
print("app started from spotlight or shortcuts");
return true
}
Два вопроса:
- , если приложение было запущено с помощью ярлыка, созданного с помощьюПриложение ярлыков, возможно ли вернуть значение обратно в ярлык?Например, я бы вернул какой-то текст, и мой следующий шаг в ярлыке отправил бы смс-сообщение с этим текстом.
- Если у меня есть более одного NSUserActivity, как я могу их различить в моем AppDelegate restorationHandler?