Проблема с отображением названия моего приложения для блокировки номеров начиная с iOS 18.2.IOS

Программируем под IOS
Ответить
Anonymous
 Проблема с отображением названия моего приложения для блокировки номеров начиная с iOS 18.2.

Сообщение Anonymous »

Я пишу приложение для блокировки спам-звонков на своем мобильном телефоне, и, начиная с iOS 18.2, я столкнулся с проблемой: в журнале вызовов вместо имени моего приложения появляется что-то еще:
(null): Numéro bloqué
раньше это работало очень хорошо. А теперь, если у вас есть идеи.
Спасибо

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

import Foundation
импортировать CallKit
импортировать os.log
класс CallDirectoryHandler: CXCallDirectoryProvider {

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

let logger = OSLog(subsystem: "arnaudguitard.SilenceApp.BlockerExtension", category: "CallDirectoryHandler")

override func beginRequest(with context: CXCallDirectoryExtensionContext) {
os_log("🚀 Début de beginRequest", log: logger, type: .info)

if context.isIncremental {
os_log("📌 Mise à jour incrémentale", log: logger, type: .info)
context.removeAllBlockingEntries()
context.removeAllIdentificationEntries()
} else {
os_log("🔄 Mise à jour complète", log: logger, type: .info)
}

do {
guard let containerURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.arnaudguitard.SilenceApp") else {
os_log("❌ Impossible d'accéder au conteneur partagé", log: logger, type: .error)
context.completeRequest()
return
}

let fileURL = containerURL.appendingPathComponent("filters.json")

guard let data = try? Data(contentsOf: fileURL) else {
os_log("❌ Aucun filtre sauvegardé trouvé", log: logger, type: .error)
context.completeRequest()
return
}

let filters = try JSONDecoder().decode([Filter].self, from: data)
os_log("📊 Décodé %{public}d filtres", log: logger, type: .info, filters.count)

var phoneNumbers = [CXCallDirectoryPhoneNumber]()

for (index, filter) in filters.enumerated() where filter.isEnabled {
os_log("🔍 Traitement du filtre %{public}d", log: logger, type: .debug, index)
for numberString in filter.numbers {
if let phoneNumber = CXCallDirectoryPhoneNumber(numberString) {
phoneNumbers.append(phoneNumber)
os_log("➕ Numéro ajouté à la liste de blocage : %{public}@", log: logger, type: .debug, numberString)
} else {
os_log("⚠️ Impossible de convertir le numéro : %{public}@", log: logger, type: .error, numberString)
}
}
}

os_log("📱 Nombre total de numéros à bloquer : %{public}d", log: logger, type: .info, phoneNumbers.count)

phoneNumbers.sort()

//let silenceLabel = "Numéro bloqué"

for number in phoneNumbers {
context.addBlockingEntry(withNextSequentialPhoneNumber: number)
context.addIdentificationEntry(withNextSequentialPhoneNumber: number, label: "Numéro bloqué")
os_log("🚫 Numéro ajouté à la liste de blocage et identifié : %{public}lld", log: logger, type: .debug, number)
}

os_log("✅ Tous les numéros ont été ajoutés à la liste de blocage et identifiés", log: logger, type: .info)
context.completeRequest()
} catch {
os_log("❌ Erreur lors du traitement des filtres : %{public}@", log: logger, type: .error, error.localizedDescription)
context.cancelRequest(withError: error)
}

os_log("🏁 Fin de beginRequest", log: logger, type: .info)
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... e-ios-18-2
Ответить

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

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

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

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

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