为什么 Breakfast Finder 示例代码在将其添加到新的 xcodeproj 文件后会导致空白屏幕?

Why does the Breakfast Finder sample code result in a blank screen after adding it to a new xcodeproj file?

目标

我正在尝试将 Breakfast Finder sample code 的对象检测功能应用于我的应用程序。当我将我的个人模型添加到 Breakfast Finder 示例代码并 运行 它时,它会检测到我的对象并显示标签。

问题

当我尝试将示例代码添加到测试应用程序(新的 xcodeproj 文件)时,我无法获取实时摄像头画面。我只收到安全弹出窗口和空白屏幕。

我做了什么来解决这个问题

  1. 复制 ViewControllerViewObjectRecognitionViewController swift 文件
  2. Link ViewController@IBOutlet 的预览视图引用出口 - 第 17 行
  3. 添加 mlmodel 文件(来自示例代码,不是我的 mlmodel 文件)
  4. NSCameraUsageDescription 添加到信息文件(带有值)。

在另一次尝试中,我尝试从示例代码复制所有文件(swift、plist、mlmodel 等)并解决连接问题,但遇到了同样的问题。

最后的想法

为什么将 Breakfast Finder 示例代码添加到新的 xcodeproj 文件后会出现空白屏幕?我从来没有处理过实时摄像头,所以我可能忽略了一个简单的问题。我在 ios15 上有一个 iPhone XR 运行ning。您可以在示例代码 here 或 google 早餐查找器中找到 link。

我终于注意到故事板中的视图控制器实际上是 VisionObjectRecognitionViewController。所以我通过执行以下操作替换了视图控制器:

  1. 在 main.storyboard
  2. 的文档大纲中选择了 View Controller
  3. 选择了屏幕右上角的身份检查器
  4. 将 class 更改为 VisionObjectRecognitionViewController(在执行此步骤之前,您需要将 VisionObjectRecognitionViewController.swift 文件添加到项目中)

然后,这就解决了!我不仅可以看到实时视频源,还可以看到我的模型检测对象!感谢@Iker Solozabal 在另一个问题上提供 similar steps