Je construis une application avec la 2ème bêta de Xcode 11, en utilisant SwiftUI, et tout fonctionnait parfaitement, mais maintenant, avec la 3ème bêta, l'application n'est même pas construite. J'obtiens des erreurs telles que "Utilisation du type non déclaré" Vue "", "Attribut inconnu" État "", etc. Que puis-je faire? Le problème est-il dans mon code ou est-ce juste un bogue?
Le problème est lorsque j'essaie de créer l'application pour qu'elle s'exécute sur mon Mac (avec UIKit pour Mac)
struct ContentView : View { /*...*/ }
L'erreur est "Attribut inconnu" État ""
@State var score = 0
L'erreur est "Utilisation du type non déclaré" Vue ""
4 Réponses :
Ceci est extrait des notes de publication de Xcode 11 Beta 3 .
Problèmes connus
- Xcode 11 ne prend pas en charge l'utilisation de SwiftUI dans une application iPad apportée à macOS. (41416222, 51201699)
J'ai téléchargé moi-même le Xcode 11 Beta 3 juste pour confirmer les erreurs que vous avez mentionnées, et j'ai eu les mêmes problèmes en essayant de créer un projet SwiftUI pour Mac.
Je suggérerais de revenir à l'utilisation de Xcode Beta 2 si possible. Malheureusement, Apple ne fournit pas de liens de téléchargement vers les versions bêta précédentes, nous espérons donc qu'une sauvegarde Time Machine ou une version bêta 2 est toujours installée sur votre ordinateur. Sinon, vous n'aurez peut-être pas de chance jusqu'à la sortie de la prochaine version bêta.
J'obtenais le même problème "Attribut inconnu 'État'" dans la bêta 5. Mais je faisais "@state" et non "@State". L'affaire compte. C'est difficile à remarquer car les deux sens sont indiqués en violet.
Vous avez le même problème sur Xcode 11.2. J'ai découvert que la raison était que quelque part dans le même module, j'ai déclaré l' protocol State {}
. Cela rompt le compilateur sans aucune erreur raisonnable.
Dans ce cas, vous pouvez simplement faire @ SwiftUI.State
Au lieu de @main, veuillez remplacer @UIApplicationMain. J'ai joint des captures d'écran. https://prnt.sc/vimvwn
Cela est également vrai pour les applications macOS. Si vous rencontrez l'erreur dans l' Unknown attribute 'Main'
XCode 11 Unknown attribute 'Main'
remplacez @Main
par @NSApplicationMain
. Problème différent mais même solution.
Avez-vous importé le framework
SwiftUI
?@ SohilR.Memon oui, sinon cela ne fonctionnera pas non plus sur iOS.