gpt4 book ai didi

ios - 由于意外崩溃,3D Touch 快捷方式将无法使用

转载 作者:IT王子 更新时间:2023-10-29 05:43:26 26 4
gpt4 key购买 nike

我正在尝试将 3D Touch 快捷方式 添加到应用程序,当在 主屏幕的应用程序图标上使用 3DTouch 时,我设法让快捷方式出现;然而,当使用快捷方式时,应用程序在加载时崩溃,我不确定为什么。

我已经设法让应用程序加载书签快捷方式,但它不会启动 BookmarksViewController,它只会加载 InitialViewController

该应用程序嵌入在每个选项卡的 UITabBarControllerUINavigationController 中。我尝试加载的两个 View Controller 位于不同的选项卡中,但导航 Controller 堆栈中的第一个 View 。

有谁知道我错在哪里?

info.plist 文件

enter image description here

应用委托(delegate)

enum ShortcutItemType: String {

case Bookmarks
case Favourites

init?(shortcutItem: UIApplicationShortcutItem) {
guard let last = shortcutItem.type.componentsSeparatedByString(".").last else { return nil }
self.init(rawValue: last)
}

var type: String {
return NSBundle.mainBundle().bundleIdentifier! + ".\(self.rawValue)"
}
}

class AppDelegate: UIResponder, UIApplicationDelegate {

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
if let shortcutItem = launchOptions?[UIApplicationLaunchOptionsShortcutItemKey] as? UIApplicationShortcutItem {
handleShortcutItem(shortcutItem)
}

return true
}

private func handleShortcutItem(shortcutItem: UIApplicationShortcutItem) {

if let rootViewController = window?.rootViewController, let shortcutItemType = ShortcutItemType(shortcutItem: shortcutItem) {
let sb = UIStoryboard(name: "main", bundle: nil)

let favouritesVC = sb.instantiateViewControllerWithIdentifier("FavouritesVC") as! FavouritesTableViewController
let bookmarksVC = sb.instantiateViewControllerWithIdentifier("BookmarksVC") as! BookmarksNotesViewController

switch shortcutItemType {
case .Bookmarks:
rootViewController.presentViewController(bookmarksVC, animated: true, completion: nil)
break
case .Favourites:
rootViewController.presentViewController(favouritesVC, animated: true, completion: nil)
break
}
}
}


func application(application: UIApplication, performActionForShortcutItem shortcutItem: UIApplicationShortcutItem, completionHandler: (Bool) -> Void) {
handleShortcutItem(shortcutItem)
}

}

Storyboard ID

这些是 View Controller 的 StoryboardID。

enter image description here enter image description here

最佳答案

我想你忘记了 com.appName.Bookmark 中的“s”

enter image description here

或者您需要从此处的书签中删除“s”:

enum ShortcutItemType: String {

case Bookmarks
case Favourites

关于ios - 由于意外崩溃,3D Touch 快捷方式将无法使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34635763/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com