Reputation: 1734
I build an app with the 2nd beta of Xcode 11, using SwiftUI, and everything worked completely fine, but now, with the 3rd beta, the app isn't even build. I get errors like "Use of undeclared type 'View'", "Unknown attribute 'State'" etc. What can I do? Is the problem in my code or is it just a bug?
The problem is when I'm trying to build the app to run on my Mac (with UIKit for Mac)
@State var score = 0
The error is "Unknown attribute 'State'"
struct ContentView : View {
/*...*/
}
The error is "Use of undeclared type 'View'"
Upvotes: 8
Views: 17015
Reputation: 1537
I got the same error while trying to compile a Swift project created with Xcode 13 on Xcode 11. The problem was that the newer version uses the SDK 12.1 while the older one uses the SDK 10.15. To let the project compile on the older Xcode/SDK I just performed these steps:
remove the @main
attribute from the swift source code
add Cocoa.framework in the section Frameworks, Libraries, and Embedded Content
add a file named main.m to the project (no bridge header) with this content:
#include <Cocoa/Cocoa.h>
int main(int argc, const char * argv[]) {
return NSApplicationMain(argc, argv);
}
Upvotes: 2
Reputation: 166
If you are doing a Kotlin multi-platform project, check if your shared module has a component named "State".
Upvotes: 2
Reputation: 101
Instead @main, please replace @UIApplicationMain. I've attached screenshots. https://prnt.sc/vimvwn
Upvotes: 1
Reputation: 1398
Got same issue on Xcode 11.2. Found out that the reason was that somewhere in same module I declared protocol State {}
. This breaks compiler without any reasonable errors.
Upvotes: 13
Reputation: 7100
I was getting the same "Unknown attribute 'State'" issue in Beta 5. But I was doing "@state" and not "@State". Case matters. It's hard to notice because both ways are shown as purple.
Upvotes: 4
Reputation: 7810
This is from the Xcode 11 Beta 3 Release Notes.
Known Issues
- Xcode 11 doesn’t support working with SwiftUI in an iPad app brought to macOS. (41416222, 51201699)
I downloaded the Xcode 11 Beta 3 myself just to confirm the errors you mentioned, and I had the same issues when trying to build a SwiftUI project for Mac.
I would suggest going back to using Xcode Beta 2 if possible. Unfortunately, Apple doesn't provide download links to previous betas, so hopefully you have a Time Machine backup or Beta 2 still installed on your computer. Otherwise, you might be out of luck until the next beta is released.
Upvotes: 5