Fonctionne sur simulateur mais pas sur device physique

bonjour,

le code suivant fonctionne bien sur mon simulateur, mais pas sur mon iphone!!!

struct listEnCours: View {
        var test = UserDefaults.standard.integer(forKey: "erreur")
        var body: some View {
         
        VStack{
            if test != 25{
            VStack {
         
     
                      
                }

            else{

Bonjour Olivier,

il faudrait que tu nous en dises un peu plus sur ce qui se passe mal sur ton iPhone car ça peut nous donner des indices sur les raisons du problème.
Aussi il faudrait que tu mettes l’intégralité du code car celui que tu as mis ne compile pas (il manque plusieurs accolades)

Happy coding!

Bonjour Maxime,

lorsque je modifie la valeur de « UserDefaults.standard.integer(forKey: « erreur ») » en mettant « 25 »,
si je suis sur le simulateur je passe dans le if, et si je suis sur mon iphone, alors je passe dans le else.
si j’éteint l’application et que je la relance, alors la je passe dans le if.

pour essayer d’être plus clair, la variable « test » ne se met pas a jour lorsque j’arrive sur la view depuis mon iphone, alors qu’elle se met a jour lorsque j’arrive sur la view depuis le simulateur.

Les réglages utilisateurs sont spécifiques à chaque simulateur et appareil, si tu as enregistré un UserDefault sur ton simulateur, il ne sera pas forcément présent sur ton iPhone à moins que tu l’enregistres à nouveau.
Il faut donc que tu fasses un UserDefaults.standard.set(25, forKey:"score") sur ton iPhone avant de pouvoir lire la valeur avec UserDefaults.standard.integer(forKey: "erreur")

Peut être que tu l’avais déjà fait par le passé sur le simulateur lors de tes divers essais mais jamais sur l’iPhone.

en faite je change la valeur du Userdefault depuis une autre vue.