【问题标题】:Cannot preview in this file - active scheme does not build this file : SwiftUI on Xcode 11 in CatalinaOS无法在此文件中预览 - 活动方案不会构建此文件:CatalinaOS 中 Xcode 11 上的 SwiftUI
【发布时间】:2020-02-13 10:06:40
【问题描述】:

我在 macOS Catalina(10.15) 的 Xcode 11 上打开了Landmark App using SwiftUI,同时打开 Canvas Editor 以显示包含 SwiftUI 的 .swift 文件

无法在此文件中预览 - 活动方案不会构建此文件

再试一次、Diagonistics 选项或重新启动 Xcode 无法解决问题。

【问题讨论】:

  • 我遇到了很多相同的问题。你是从下载文件夹运行它吗?这似乎给我带来了问题(网上很少有关于它的问题)。您可以通过ctrl+alt+shit + k 尝试深度清理,然后重新构建应用程序。
  • 将项目从下载文件夹复制并粘贴到桌面为我工作...

标签: ios swiftui xcode11 macos-catalina


【解决方案1】:

选择要预览的当前文件的方案

【讨论】:

【解决方案2】:

如果这是来自复制文件夹和 iCloud 文件夹中的新项目,只需关闭 Xcode 并重新启动它。同步尚未完成。

【讨论】:

  • 好吧,它为我解决了。除了“拔下计算机并重新启动”之外,还有其他诊断方法吗?在任何同步停止后的几个小时内,文件同步肯定不会继续成为问题吗?这里的根本错误是什么?这只是从上面执行“ctrl+alt+shit+k”的愚蠢方式吗?
  • 这个修复对我有用,虽然在我的情况下原因不同:我会 (1) 打开一个 xcodeproj,然后 (2) 运行 pod init 并 (3) 打开 xcworkspace。从项目切换到工作区显然让 Xcode 感到困惑。退出并重新打开 Xcode 解决了这个问题。
【解决方案3】:

我遇到了同样的问题。我所做的只是从下载的文件夹中复制“StartingPoint”文件夹并重新启动项目。成功了!!!

【讨论】:

    【解决方案4】:

    尝试在 Canvas 上预览时,我的一些 SwiftUI 视图文件遇到了同样的错误。解决这个问题的是我在当前文件中复制了代码,删除了文件,以相同的名称创建了一个新的 SwiftUI View 文件并粘贴了原始代码。希望对您有所帮助!

    在 Documents/Desktop 中创建一个新文件夹并将文件复制过来也可以解决问题。

    【讨论】:

      【解决方案5】:

      在我能够选择的方案中,它只包含一个方案。重新打开不在下载目录中的文件夹中的文件夹使我可以进行实时编辑

      【讨论】:

        【解决方案6】:

        当我使用“创建文件夹引用”选项而不是“创建组”选项将文件夹复制到我的项目中时,这个问题发生在我身上。 当我从项目中删除该文件夹并使用后一个选项再次复制该文件夹时,问题就解决了。

        【讨论】:

          【解决方案7】:

          我也遇到了这个,遵循地标教程。当我创建“CircleImage.swift”时,它不允许我预览它,并显示上述错误消息。

          您可以通过转到Product > Scheme 查看您正在使用的当前方案。我已经选择了 macOS。

          单击 CircleImage.swift 文件加载它,并在最右侧的边栏中显示属性检查器。左边的几个按钮是“显示文件检查器”。

          在那里,您可以看到该文件选择的“目标成员”。我的问题是没有检查“地标(macOS)”。立即检查此内容即可使预览正常工作。

          我想我也可以将我的产品方案更改为 iOS 并且它会起作用,因为已经检查过了。

          【讨论】:

          • 我刚刚在 macOS 上的 Swift UI 的 Garden App 示例中遇到了同样的问题。不是文件是否添加到方案中,而是项目在加载时默认为“Garden App End”方案,而不是在执行代码时默认为“Garden App Start”方案。希望这对其他人有帮助:)
          【解决方案8】:

          你应该通过Xcode and Apple SDKs Agreement,你可以通过在mac的终端中运行以下命令来做到这一点:

          sudo xcodebuild -license
          

          完成后重新打开您的项目。

          【讨论】:

          • 一开始我想,“这行不通。这与错误有什么关系?”但是,果然,它确实奏效了。为什么?
          • 是接受here中提到的条件和许可协议的方式,例如在您的App中使用定位服务、HealthKit API等。
          【解决方案9】:

          重启我的电脑对我有用。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-10-29
            • 2020-07-10
            • 2022-09-28
            • 1970-01-01
            • 2020-06-06
            • 2022-01-25
            • 2020-07-26
            相关资源
            最近更新 更多