Проблема с разрешением на уведомление в расширении отчета об активности устройства (iOS 26)IOS

Программируем под IOS
Ответить
Anonymous
 Проблема с разрешением на уведомление в расширении отчета об активности устройства (iOS 26)

Сообщение Anonymous »

Я столкнулся с проблемой: разрешения на уведомления работают нормально в основном приложении, но не работают в расширении отчета об активности устройства на iOS. 2Введите описание изображения здесь6. Этой проблемы не было в более ранних версиях iOS. Несмотря на то, что в основном приложении предоставлены разрешения на уведомления, расширению не удается получить авторизацию. Кто-нибудь еще сталкивался с этим или есть решение?
До версии iOS 6.
В iOS 26.
Вызов функции:
showNotification(
title: "Screen Time",
body: "Time: (Date().formatted(.dateTime.hour().MINUT().секунда()))",
timeInterval: 1,
isTimeSensitive: true
)

Код: Выделить всё

func showNotification(title: String, body: String, timeInterval: Double, isTimeSensitive: Bool, widgetName: String? = nil, pageIndex: Int? = nil) {
UNUserNotificationCenter.current().getNotificationSettings { settings in
if settings.authorizationStatus == .authorized {
let content = UNMutableNotificationContent()
content.title = title
content.body = body
content.sound = UNNotificationSound.default

// Add category identifier for tap handling
content.categoryIdentifier = "ULTRAMIND_NOTIFICATION"

// Add user info for navigation context if provided
if let widgetName = widgetName, let pageIndex = pageIndex {
// pageIndex: 0 = HomeTab, 1 = LeftBrain tab, 2 = HomeTab (main), 3 = RightBrain tab
// widgetName: identifier for which bottom sheet to open (lowercase)
content.userInfo = [
"widgetName": widgetName.lowercased(),  // Convert to lowercase
"pageIndex": pageIndex
]
}

if(isTimeSensitive){
content.interruptionLevel = .timeSensitive
}

let trigger = UNTimeIntervalNotificationTrigger(timeInterval: timeInterval, repeats: false)
let request = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request) { error in
if let error = error {
// print("Error showing termination notification: \(error)")
}
}
}
}
}

Подробнее здесь: https://stackoverflow.com/questions/798 ... ion-ios-26
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»