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
尝试解决错误所采取的步骤
- 清理并构建 Xcode 项目,同时退出并重新启动 Xcode
- 正在手动将文件添加到 Xcode 中的项目中。只有当我将它们从 'amplify' 文件夹中删除并将它们放在与 BlogApp 和 ContentView 相同的文件夹中时,代码才能找到这些文件,但我想这不正确。
- 清除项目的 DerivedData 并重建。
我 运行 Xcode 12.2。我决定逐步遵循 'Getting Started' 文档的原因是因为我在创建自己的项目时遇到了同样的错误,所以我想确保这不是我的一些简单的用户错误部分。
提前致谢!
说明省略了一小步。您需要将生成的源文件添加到项目中,以便对其进行编译。
选择菜单“文件 > 添加文件到...”
select 放大文件夹,然后选择 'Create groups' 选项
最近,我想开始一个使用 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
尝试解决错误所采取的步骤
- 清理并构建 Xcode 项目,同时退出并重新启动 Xcode
- 正在手动将文件添加到 Xcode 中的项目中。只有当我将它们从 'amplify' 文件夹中删除并将它们放在与 BlogApp 和 ContentView 相同的文件夹中时,代码才能找到这些文件,但我想这不正确。
- 清除项目的 DerivedData 并重建。
我 运行 Xcode 12.2。我决定逐步遵循 'Getting Started' 文档的原因是因为我在创建自己的项目时遇到了同样的错误,所以我想确保这不是我的一些简单的用户错误部分。
提前致谢!
说明省略了一小步。您需要将生成的源文件添加到项目中,以便对其进行编译。
选择菜单“文件 > 添加文件到...”
select 放大文件夹,然后选择 'Create groups' 选项