Я быстро внедряю быстрые действия по 3D-касанию для моего приложения iOS 9, и у меня есть любопытная проблема. Когда мое приложение находится в фоновом режиме, и я запускаю его с быстрым действием, все идет так, как планировалось. Когда мое приложение полностью мертво (т.е. Я его убил из меню многозадачности), и я запускаю его с быстрым действием, приложение выходит из строя. У меня возникли проблемы с отладкой, так как как только я убью приложение, сеанс отладки в Xcode отключается. Есть ли способ подключиться к приложению для отладки, как обычно, или есть что-то в моем коде, которое могло бы вызвать его? Спасибо заранее.
код:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
{
var launchedFromShortCut = false
//Check for ShortCutItem
if let shortcutItem = launchOptions?[UIApplicationLaunchOptionsShortcutItemKey] as? UIApplicationShortcutItem
{
launchedFromShortCut = true
self.handleShortCutItem(shortcutItem)
}
return !launchedFromShortCut
}
func application(application: UIApplication, performActionForShortcutItem shortcutItem: UIApplicationShortcutItem, completionHandler: (Bool) -> Void)
{
self.handleShortCutItem(shortcutItem)
}
func handleShortCutItem(shortcutItem: UIApplicationShortcutItem)
{
//Get type string from shortcutItem
if let shortcutType = ShortcutType.init(rawValue: shortcutItem.type)
{
//Get root navigation viewcontroller and its first controller
let rootNavigationViewController = window!.rootViewController as? UINavigationController
if let rootViewController = rootNavigationViewController?.viewControllers.first as! LaunchViewController?
{
//Pop to root view controller so that approperiete segue can be performed
rootNavigationViewController?.popToRootViewControllerAnimated(false)
switch shortcutType
{
case .Compose:
rootViewController.shouldCompose()
break
}
}
}
}
Спасибо!