刷新3D Touch快速操作标题

4

我希望在 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
}
1个回答

2

您可以在后台更新快捷方式。但是如果没有任何合理的原因,您不能为应用程序启用后台模式。苹果将在审核过程中拒绝该应用程序。

更新:

我认为在后台更新快捷方式更加困难。从iOS 10开始,苹果在按压Force Touch(3D快捷方式)时显示今天的小部件。您可以使用Today Widget在用户进行Force Touch时更新最新信息。我希望这会有用。


你会如何在后台精确地更新快捷项? - SRMR
我认为在后台更新快捷方式更加困难。从iOS 10开始,苹果在forceTouch(3D快捷方式)期间显示Today小部件。您可以使用Today小部件在用户进行forceTouch时更新最新信息。希望这对您有用。 - Yogesh Mv
1
我该如何使用小部件来更新3D Touch项目?从应用程序内部,它们可以通过UIApplication.shared.shortcutItems访问,但是你无法从小部件中获取。 - Maroš Beťko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接