Xcode 项目无法找到使用 AWS Amplify DataStore 为 iOS 项目生成的 'AmplifyModels' 文件

Xcode project fails to find the 'AmplifyModels' file that is generated for iOS project using AWS Amplify DataStore

最近,我想开始一个使用 AWS Amplify 的 DataStore 服务的 iOS 项目。为了熟悉,我遵循了 https://sandbox.amplifyapp.com/start#datastore 中的 'Getting Started' 文档并接受了所有默认设置以创建一个简单的博客应用程序。

当我处于 'Test' 阶段和第 4 步的最后一部分时,我的 Xcode 项目无法找到 'AmplifyModels',即使它们已成功生成并存在于/amplify/generated/models 文件夹。

这是代码

import SwiftUI
import Amplify
import AmplifyPlugins

@main
struct BlogApp: App {
    
    public init() {
        let dataStorePlugin = AWSDataStorePlugin(modelRegistration: AmplifyModels())
        //let apiPlugin = AWSAPIPlugin(modelRegistration: AmplifyModels()) // UNCOMMENT this line once backend is deployed

        do {
            try Amplify.add(plugin: dataStorePlugin)
            //try Amplify.add(plugin: apiPlugin) // UNCOMMENT this line once backend is deployed
            try Amplify.configure()
            print("Initialized Amplify");
        } catch {
            print("Could not initialize Amplify: \(error)")
        }
    }
    
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

这是错误

Cannot find 'AmplifyModels' in scope

尝试解决错误所采取的步骤

  1. 清理并构建 Xcode 项目,同时退出并重新启动 Xcode
  2. 正在手动将文件添加到 Xcode 中的项目中。只有当我将它们从 'amplify' 文件夹中删除并将它们放在与 BlogApp 和 ContentView 相同的文件夹中时,代码才能找到这些文件,但我想这不正确。
  3. 清除项目的 DerivedData 并重建。

我 运行 Xcode 12.2。我决定逐步遵循 'Getting Started' 文档的原因是因为我在创建自己的项目时遇到了同样的错误,所以我想确保这不是我的一些简单的用户错误部分。

提前致谢!

说明省略了一小步。您需要将生成的源文件添加到项目中,以便对其进行编译。

  1. 选择菜单“文件 > 添加文件到...”

  2. select 放大文件夹,然后选择 'Create groups' 选项