XPC connection was invalidated

Bonsoir,

Un message d’erreur s’affiche « XPC connection was invalidated » quand je lance l’application sur mon iPhone ou sur le simulateur et que je clique sur le texte « hello world ».

Le code de la vue :

struct ContentView: View {
    var calendarImporter = CalendarImport()
    
    var body: some View {
        Text("Hello, world!")
            .padding()
            .onTapGesture {
                self.calendarImporter.importDatesFromContactsToCalendar(calendarName: "test")
            }
    }
}

le code de CalendarImport:

    import Foundation
import EventKit

class CalendarImport {
    func importDatesFromContactsToCalendar(calendarName: String) {
        let _ = EKEventStore()
    }
}

Mon appli est plus compliquée que ça, mais même le code très simple que je vous ai copié conduit à l’erreur en question.

Et dans Info.plist, le champ « Privacy - Calendars Usage Description » comporte bien une description.

Que signifie cette erreur ? Qu’est-ce que je rate ?

Xcode 12.3 sur Big Sur

Merci
Nicolas

Salut @ristretto,

Qu’il a stoppé la connexion XPC.

XPC est un framework d’Apple de bas niveau qui permet la communication interprocessus.

Mais pour moi, ton code à un problème, du moins ta fonction importDatesFromContactsToCalendar.
Tu lui donnes un paramètre, alors que tu ne l’utilises nulle part dans la fonction et après cette même fonction ne fait rien.

Tu lui donnes seulement une constante qui est égale à une class du framework EventKit, donc tu fais une instance de cette class et puis plus rien.

C’est comme si tu fais une fonction démarrage et que tu lui dis de prendre la clé de contact, mais que tu ne lui dis pas de la mettre dans le trou et de la tournée.

Bonjour @ThonyF

Merci pour ta réponse.

Je te confirme que le code montré n’a pas de sens, à part illustrer l’origine de l’erreur que je rencontre.

Dans mon message ci-dessus, j’ai effacé toutes les lignes de code de la fonction

importDatesFromContactsToCalendar

La question qui me reste est: comment faire disparaître cette erreur ? (qui disparait si je supprime la ligne de code

let _ = EKEventStore()

)

Nicolas

Alors ça va ! :joy:

J’ai cherché et fait mes propres tests, mais je ne trouve rien.

Bon, vu que notre ami Google ne trouve pas non plus, ça ne doit pas être très grave.

J’ai tout de même trouvé sur celui-ci, quelque chose pour le développement macOS ou ils parlent de Sandbox, donc le mode développement, je suppose que l’erreur ou du moins le warning n’y est pas dans l’application de production.