Xcode项目无法找到使用AWSAmplifyDataStore为iOS项目生成的“AmplifyModels”文件

最近,我想开始一个使用 AWS Amplify 的 DataStore 服务的 iOS 项目。为了熟悉起来,我遵循了https://sandbox.amplifyapp.com/start#datastore 上的“入门”文档,并接受了所有默认值来创建一个简单的博客应用程序。

当我处于“测试”阶段和第 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 中手动将文件添加到项目中。只有当我将它们从“放大”文件夹中删除并将它们与 BlogApp 和 ContentView 放在同一文件夹中时,代码才能找到这些文件,但我想这是不正确的。
  3. 清除项目的 DerivedData 并重建。

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

先感谢您!

回答

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

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

  2. 选择放大文件夹,然后选择“创建组”选项


以上是Xcode项目无法找到使用AWSAmplifyDataStore为iOS项目生成的“AmplifyModels”文件的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>