Я пытаюсь добавить быстрые действия на домашний экран в свое приложение, и я написал этот код в делегате приложения
func application(_ application: UIApplication, performActionFor shortcutItem: UIApplicationShortcutItem, completionHandler: @escaping (Bool) -> Void) {
switch shortcutItem.type {
case "com.myName.myApp.add":
DispatchQueue.main.async {
NotificationCenter.default.post(name: NSNotification.Name(rawValue: self.addId), object: nil)
}
print("Task")
case "com.myName.myApp.search":
DispatchQueue.main.async {
NotificationCenter.default.post(name: NSNotification.Name(rawValue: self.searchId), object: nil)
}
print("Search")
case "com.myName.myApp.settings":
DispatchQueue.main.async {
NotificationCenter.default.post(name: NSNotification.Name(rawValue: self.settingsId), object: nil)
}
print("Settings")
default:
break
}
}
И здесь я добавляю наблюдателей в av c
func addObs()
{
NotificationCenter.default.addObserver(self, selector: #selector(showAdd), name: Notification.Name(addId), object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(showSearch), name: Notification.Name(searchId), object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(showSettings), name: Notification.Name(settingsId), object: nil)
}
@objc func showAdd() {
DispatchQueue.main.async {
let vc = self.storyboard?.instantiateViewController(withIdentifier: "AddVC") as! AddViewController
self.present(vc, animated: true)
}
}
@objc func showSearch() {
DispatchQueue.main.async {
let vc = self.storyboard?.instantiateViewController(withIdentifier: "SearchVC") as! SearchViewController
self.present(vc, animated: true, completion: nil)
}
}
@objc func showSettings() {
DispatchQueue.main.async {
let vc = self.storyboard?.instantiateViewController(withIdentifier: "SettingsVC") as! SettingsViewController
self.present(vc, animated: true, completion: nil)
}
}
И, как я уже сказал, я не могу найти проблему, потому что, когда я запускаю приложение в режиме отладки, оно работает нормально, но ничего не происходит, если я запускаю его без отладки.