iOS: яблочная универсальная ссылка, если приложение не открыто?
Мое приложение может успешно обрабатывать универсальные ссылки Apple, если приложение уже открыто (в фоновом режиме). Но если приложение еще не открыто, то когда я нажимаю на такую ссылку, скажем, по почте, приложение открывается, но я никогда не получаю обратный вызов для приложения: continueUserActivity ... (что я делаю, если приложение уже было открыто / справочная информация) ...
Для остроумия:
Если приложение является фоновым, и я нажимаю на универсальную ссылку apple, скажем, в почтовом приложении, то этот метод (это то, что в документации Apple сказано реализовать для обработки универсальных ссылок):
optional func application(_ application: UIApplication,
continueUserActivity userActivity: NSUserActivity,
restorationHandler restorationHandler: ([AnyObject]?) -> Void) -> Bool
Получает называется. Если приложение не запущено (я принудительно закрываю его), то когда я нажимаю на ссылку, этот метод НЕ вызывается, но приложение открывается.
Это должно работать так?
Основываясь на подсказке MCMatan, вы должны сделать что-то подобное в didFinishLaunchingWithOptions, и тогда будет вызвано continueUserActivity:
if let userActivityDict = launchOptions?[UIApplicationLaunchOptionsUserActivityDictionaryKey] as? NSDictionary,
activityType = userActivityDict[UIApplicationLaunchOptionsUserActivityTypeKey] as? String where activityType == NSUserActivityTypeBrowsingWeb {
return true
}