Я прошел через все остальные вопросы, и я не могу понять, что не так. Я скачал пример проекта с сайта Apple для разработчиков Добавление быстрых действий на главный экран , и это не проблема, но когда я запускаю новый проект Xcode и копирую его, он точно не работает для меня. Я должен что-то упустить. На данный момент я просто хочу, чтобы он печатал в консоли с надписью «нажал ярлык». Когда я добавляю print("Shortcut pressed")
в проект Apple, я скачал, он работает нормально.
На данный момент я просто пробую случайные вещи.
Я обновил свой info.plist с помощью массива и словаряи строки, и я просто копирую и вставляю значения, чтобы не допустить ошибок при опечатке.
UIApplicationShortcutItems, Item 0, UIApplicationShortcutItemType, UIApplicationShortcutItemIconType, UIApplicationShortcutItemTitle
при нажатии ярлыка появляется ярлык приложения, но при нажатии клавишипросто открывает приложение.
Это мой очень простой файл AppDelegate.Swift, пытающийся заставить его что-либо делать. Может быть, это настройки моего проекта, моя версия XCode актуальна - Версия 11.1 (11A1027)
Я никогда раньше не использовал быстрые действия, и они казались простыми, но то, что казалось простыми, просто добавьте несколько строк в plist и добавьте некоторый код в файл AppDelegate.Swift, но требуются усилия, чтобы начать работу.
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var shortcutItemToProcess: UIApplicationShortcutItem?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
if let shortcutItem = launchOptions?[UIApplication.LaunchOptionsKey.shortcutItem] as? UIApplicationShortcutItem {
shortcutItemToProcess = shortcutItem
print("Shortcut pressed")
}
return true
}
func application(_ application: UIApplication, performActionFor shortcutItem: UIApplicationShortcutItem, completionHandler: (Bool) -> Void) {
print("Shortcut pressed")
}
func applicationDidBecomeActive(_ application: UIApplication) {
print("Shortcut pressed")
}
// MARK: UISceneSession Lifecycle
func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
// Called when a new scene session is being created.
// Use this method to select a configuration to create the new scene with.
return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
}
func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
// Called when the user discards a scene session.
// If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
// Use this method to release any resources that were specific to the discarded scenes, as they will not return.
}
}
Спасибо.