#ios #swift #xcode #3dtouch
#iOS #swift #xcode #3dtouch
Вопрос:
Я хочу показать дату в элементе быстрого действия 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:
Вы можете обновить элементы быстрого доступа в фоновом режиме. Но без какой-либо надлежащей причины вы не можете включить фоновый режим для приложения. Apple отклонит приложение в процессе проверки.
Обновить:
Я думаю, что обновить элемент быстрого доступа в фоновом режиме сложнее. В iOS 10 Apple показывает виджет «Сегодня» во время нажатия кнопки (элементы быстрого доступа 3D). Вы можете использовать виджет «Сегодня» для обновления последней информации всякий раз, когда пользователь нажимает ForceTouch. Я надеюсь, что это будет полезно
Комментарии:
1. Как бы вы обновили элементы быстрого доступа в фоновом режиме?
2. Я думаю, что обновить элемент быстрого доступа в фоновом режиме сложнее. В iOS 10 Apple показывает виджет «Сегодня» во время нажатия кнопки (элементы быстрого доступа 3D). Вы можете использовать виджет «Сегодня» для обновления последней информации всякий раз, когда пользователь выполняет ForceTouch. Я надеюсь, что это будет полезно.
3. Как именно я могу использовать виджет для обновления элементов 3d touch? Из приложения они доступны, через
UIApplication.shared.shortcutItems
которые вы не можете перейти из виджета.