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
为尝试解决错误而采取的步骤
- 清理和构建 Xcode 项目,以及退出和重新启动 Xcode
- 在 Xcode 中手动将文件添加到项目中。只有当我将它们从“放大”文件夹中删除并将它们与 BlogApp 和 ContentView 放在同一文件夹中时,代码才能找到这些文件,但我想这是不正确的。
- 清除项目的 DerivedData 并重建。
我在 Xcode 12.2 上运行。我决定逐步遵循“入门”文档的原因是因为我在创建自己的项目时遇到了同样的错误,所以我想确保这不是我的一些简单的用户错误.
先感谢您!
回答
说明省略了一小步。您需要将生成的源文件添加到项目中,以便编译它们。
-
选择菜单“文件>将文件添加到...”
-
选择放大文件夹,然后选择“创建组”选项
THE END
二维码