我需要我的应用程序在启动时配置后端,这是这样做的功能:
// Initializes Amplify
final func configureAmplify() async {
do {
// Amplify.Logging.logLevel = .info
let dataStore = AWSDataStorePlugin(modelRegistration: AmplifyModels())
let syncWithCloud = AWSAPIPlugin()
let userAuth = AWSCognitoAuthPlugin()
try Amplify.add(plugin: userAuth)
try Amplify.add(plugin: dataStore)
try Amplify.add(plugin: syncWithCloud)
try Amplify.configure()
print("Amplify initialized")
} catch {
print("Failed to initialize Amplify with \(error)")
}
}
我尝试将它放在@main init 中,如下所示:
init() async {
await networkController.configureAmplify()
}
但我收到以下错误:
Type 'MyApplicationNameApp' does not conform to protocol 'App'
我尝试在初始化它之后应用建议:
init() {
}
但这似乎很奇怪,所以现在我有 2 个 init。这里发生了什么以及在应用程序启动时初始化多个异步函数的正确方法是什么,例如:
- 上面的代码(配置放大)
- 检查用户是否登录
- 设置会话
ETC
注意:init() async
在上面的示例中永远不会被调用,这是这个问题中的另一个问题,那么在应用程序启动时初始化异步函数的正确方法是什么。