刷新 3D Touch Quick Action 标题

Refresh 3D Touch Quick Action title

我想在 3D Touch 快速操作项目中显示日期。如果用户没有打开应用程序,数据有什么办法可以刷新?

目前,快捷操作只会显示上次打开应用的日期,而不是当前日期。

是否可以显示当前信息,或者是否有一些不允许的后台进程?

AppDelegate:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    let dateVariable = Date()
    let dateFormatter = DateFormatter()
    dateFormatter.dateStyle = .short
    let dateString = dateFormatter.string(from: dateVariable)

    let shortcut4 = UIMutableApplicationShortcutItem(type: "GetDate",
                                                     localizedTitle: dateString,
                                                     localizedSubtitle: "Get Today's Date in subtitle",
                                                     icon: UIApplicationShortcutIcon(type: .date),
                                                     userInfo: nil)

    application.shortcutItems = [shortcut4]
    return true
}

您可以在后台更新快捷方式项目。但是,如果没有任何正当理由,您将无法为应用程序启用后台模式。 Apple 将在审核过程中拒绝该应用程序。

更新:

我认为在后台更新快捷方式项比较困难。来自 iOS 10 Apple 在 forceTouch(3D 快捷方式项)期间显示 Today 小部件。每当用户执行 forceTouch 时,您都可以使用 Today 小部件来更新最新信息。我希望这会有用