У меня есть следующая проблема. Когда я запускаю свое приложение на своем телефоне, 3d коснитесь значка и выберите быстрое действие, которое запускает приложение, представляющее правильный контроллер просмотра, но когда я помещаю приложение в фоновом режиме и пытаюсь вызвать быстрое действие, он просто открывает приложение, в котором я Оставь это. Поэтому, чтобы заставить его работать, я должен каждый раз убивать свое приложение. Вот мой код:3D-сенсорные быстрые действия Предварительный просмотр контроллера только один раз
func application(application: UIApplication, performActionForShortcutItem shortcutItem: UIApplicationShortcutItem, completionHandler: (Bool) -> Void) {
if shortcutItem.type == "com.traning.Search" {
let sb = UIStoryboard(name: "Main", bundle: nil)
let searchVC = sb.instantiateViewControllerWithIdentifier("searchVC") as! UINavigationController
let root = UIApplication.sharedApplication().keyWindow?.rootViewController
root?.presentViewController(searchVC, animated: false, completion: {() -> Void in
completionHandler(true)
})
}
}
Спасибо заранее.
Вызывает ли это performActionForShortcutItem? Is root = nil? – beyowulf
Где он должен вызывать функцию performActionForShortcutItem? –
Я имею в виду, просто попробуйте что-то напечатать в файле performActionForShortcutItem, чтобы убедиться, что он вызван. Возможно, print (root), почему вы можете проверить, вызывается ли функция performActionForShortcutItem, и убедитесь, что root не равен нулю. – beyowulf