Fernkommunikationsbenachrichtigungen funktionieren unter iOS 18 nichtIOS

Programmierung für iOS
Anonymous
 Fernkommunikationsbenachrichtigungen funktionieren unter iOS 18 nicht

Post by Anonymous »

Ich versuche, Kommunikationsbenachrichtigungen mit den von mir eingerichteten Remote-Push-Benachrichtigungen funktionieren zu lassen, insbesondere damit Benutzer-Avatare in der Benachrichtigung angezeigt werden. Ich habe erfolgreich eine Notification Service Extension für meine App eingerichtet, von der ich überprüft habe, dass sie funktioniert (Haltepunkte werden in der NotificationService-Klasse erreicht, und ich kann den Titel ändern), und indem ich der Anleitung folge, komme ich zum Schluss mit diesem Code:

Code: Select all

override func didReceive(
_ request: UNNotificationRequest,
withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void
) {
self.contentHandler = contentHandler
bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent)

if let bestAttemptContent {
contentHandler(bestAttemptContent)
}

let personHandle = INPersonHandle(value: "senderID", type: .unknown)
let person = INPerson(
personHandle: personHandle,
nameComponents: .init(givenName: "senderName", familyName: "family name"),
displayName: "senderName",
image: nil,
contactIdentifier: nil,
customIdentifier: "some-unique-id"
)

let intent = INSendMessageIntent(
recipients: nil,
outgoingMessageType: .outgoingMessageText,
content: "some content",
speakableGroupName: nil,
conversationIdentifier: "unique-user-id-conv",
serviceName: nil,
sender: person,
attachments: nil
)

let interaction = INInteraction(intent: intent, response: nil)
interaction.direction = .incoming
interaction.donate(completion: nil)

do {
let updatedContent = try request.content.updating(from: intent)
let mutableBestAttemptContent = (updatedContent.mutableCopy() as? UNMutableNotificationContent)!
mutableBestAttemptContent.userInfo = request.content.userInfo

contentHandler(mutableBestAttemptContent)

} catch {

}
}

Wenn ich eine Benachrichtigung erhalte, wird dieser Code ausgeführt und ich habe mit Haltepunkten überprüft, dass contentHandler(mutableBestAttemptContent) aufgerufen wird und dass die Absicht ohne Fehler übergeben wird.
Im Moment habe ich darauf verzichtet, ein Bild hinzuzufügen, da ich zunächst ein minimales Beispiel zum Laufen bringen möchte, in dem der Name der Person angezeigt wird (obwohl ich dies auch mit getestet habe). ein fest codierter INImage(url: validURL) ohne Erfolg), aber dieser Code funktioniert nicht.
Außerdem habe ich Folgendes:
  • Die Notification Service Extension Info.plist-Datei enthält Folgendes:

Code: Select all

NSExtension

NSExtensionAttributes

IntentsSupported

INSendMessageIntent


...


  • Das Haupt-App-Ziel enthält Folgendes in seiner Info.plist

Code: Select all

NSUserActivityTypes

INSendMessageIntent

...

  • Die Funktion „Kommunikationsbenachrichtigungen“ wurde im Haupt-App-Ziel hinzugefügt, ebenso wie „Push-Benachrichtigungen“ und „Hintergrundmodi“ ( mit „Remote-Benachrichtigungen“ aktiviert) und „Siri“.
  • Kann irrelevant sein, aber ich habe irgendwo gesehen, dass der Bundle-ID der Diensterweiterung die Bundle-ID der Haupt-App vorangestellt werden muss Ziel, das auch das ist Fall.
Ich bin ein bisschen ratlos, warum das nicht funktioniert, und es gibt erschreckend wenig Dokumentation zu diesem Thema, also bin ich es Ich bin mir nicht einmal sicher, wie ich das Debuggen angehen soll. Hat jemand eine Idee?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post