Xcode 11 beta swift ui preview not showing

半腔热情 提交于 2020-12-28 04:32:03

问题


Just playing with Swift UI basic app and the preview canvas is not showing even though I'm in canvas mode. App runs, and I have this little snippet what am I missing?

#if DEBUG
struct ContentView_Previews : PreviewProvider {
    static var previews: some View {
       ContentView()
    }
}
#endif

回答1:


To preview and interact with views from the canvas in Xcode, ensure your Mac is running on Catalina MacOS.

https://developer.apple.com/tutorials/swiftui/creating-and-combining-views

Please check apple document in the following URL https://developer.apple.com/documentation/xcode_release_notes/xcode_11_beta_2_release_notes

Xcode 11 beta supports development with SwiftUI.

Note

Tools for SwiftUI development are only available when running on macOS Catalina 10.15 beta.




回答2:


Maybe someone is looking for this: Editor -> Canvas (Alt + Command + Enter)




回答3:


To open the Preview Canvas just goto Editor -> Canvas

Or do Alt + Command + Enter

If your System (MAC OS) version is below 10.15

you will get below error

Update mac and try the same.




回答4:


Additionally, if you are using macOS system older than beta version like 10.14 you can use Xcode playground to preview with following code.

import PlaygroundSupport
import SwiftUI

    struct ContentView : View {
        var body: some View {
            Text("Hello World")
        }
    }
 PlaygroundPage.current.liveView = UIHostingController(rootView: ContentView())



回答5:


To preview and interact with views from the canvas in Xcode, ensure your Mac is running macOS 10.15 beta.




回答6:


From the editor:

Top-Right corner of the editor, and then:


From the menu

Editor -> Canvas


Shortcuts

Open Canvas

⌥ option + ⌘ command + ↩ return

Refresh canvas

⌥ option + ⌘ command + P


A note about the macOS 

In the mac environment, you can search for any menu option under the Help menu, then it will open the exact menu path you are looking for.

For example, searching for canvas result in this:




回答7:


In Xcode 11 Beta 6, there is a known issue and workaround for views that do not have their certain flags set (see below).

If this applies to you, and you are unable to set the corresponding flags, you may need to remove the #if debug flag around ContentView_Previews until the issue is fixed in a future Xcode release.

See the Xcode 11 Beta 6 Release Notes:

Preview providers that are defined in projects which don’t have -DDEBUG set for OTHER_SWIFT_FLAGS and wrapped in #if DEBUG don’t display in the canvas. That happens, for example, in Objective-C apps which that never had occasion to specify OTHER_SWIFT_FLAGS. (51138834)

Workaround: Remove the #if DEBUG and #endif from around the PreviewProvider declaration.




回答8:


Check this xcode_11_beta_5_release_notes https://developer.apple.com/documentation/xcode_release_notes/xcode_11_beta_5_release_notes .

With Xcode 11 beta 5, previews are only available on macOS Catalina 10.15 beta 5, and only Xcode 11 beta 5 supports previews on macOS Catalina 10.15 beta 5. (52059562)



来源:https://stackoverflow.com/questions/56678354/xcode-11-beta-swift-ui-preview-not-showing

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!