Я использую как NSUserActivity, так и Core Spotlight для индексации контента в своем приложении. Причина, по которой я использую Core Spotlight, заключается в том, что я хочу проиндексировать этот контент до того, как пользователь получит к нему доступ (откроет).
Проблема, с которой я столкнулся, заключается в методе AppDelegate:
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool
В основном userActivity
ТОЛЬКО содержит правильную информацию, когда я делаю это в своем viewController:
userActivity = myUserActivity
Но это не сработает, если я сделаю:
CSSearchableIndex.default().indexSearchableItems(searchableItems)
.
Используя второй метод (Core Spotlight), я могу видеть все свои результаты в поиске Spotlight, но когда я касаюсь элемента, у меня нет никакой информации в методе AppDelegate.
Хуже всего вот это:
po userActivity.activityType
"com.apple.corespotlightitem"
Если я напечатаю тип активности, вместо того, чтобы получить свой собственный, я получу этот...
Какие-либо предложения?