在类别上使用任何方法之前调用 Amplify.configure()。 | SwiftUI

问题描述 投票:0回答:1

当我开始我的项目时,我收到了这个错误。我该如何解决这个问题。我正在尝试在没有 Apollo SDK 的情况下使用 Graphql。

错误:

无法初始化 Amplify,出现配置错误:AWSS3StoragePlugin。AWSS3StoragePlugin 无法在

Amplify.configure()
之后添加。 恢复建议:调用
Amplify.configure()
后不要添加插件。 /Users/ufukkosker/Library/Developer/Xcode/DerivedData/ArtApp-xxxxxxhzyxxxxx/SourcePackages/checkouts/amplify-swift/Amplify/Categories/DataStore/DataStoreCategory.swift:21:致命错误:未配置数据存储类别。在类别上使用任何方法之前调用 Amplify.configure()。

艺术应用:

import SwiftUI
import UIKit
import Amplify
import AWSS3StoragePlugin

class AppDelegate: NSObject, UIApplicationDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
        let storagePlugin = AWSS3StoragePlugin()
         do {
             try Amplify.add(plugin: storagePlugin)
             try Amplify.configure()
           print("Amplify configured with storage plugin")
          } catch {
            print("Failed to initialize Amplify with \(error)")
          }
        return true
    }
}


@main
struct ArtApp: App {
    @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
    
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

放大数据存储配置:

import Amplify
import AWSS3StoragePlugin

final class AmplifyDataStoreConfig {
    static var shared = AmplifyDataStoreConfig()
    
    private init() {
       
    }
    
    func fetchArttist() async {
        do {
            let items = try await Amplify.DataStore.query(Artist.self)
            for item in items {
                print("artist id: \(item.id)")
            }
        } catch let error as DataStoreError {
            print("Error querying items: \(error)")
        } catch {
            print("Unexpected error: \(error)")
        }
    }
}

启动视图:

struct LaunchView: View {
    @State var isAnimating: Bool = false
    @State var isPresent: Bool = false
    var body: some View {
        HStack(spacing: 0) {
            ZStack(alignment: .trailing) {
                Rectangle()
                    .foregroundColor(.artOrangeLight)
                    .frame(width: 128, height: 128)
                    .offset(y: isAnimating ? .zero : -UIScreen.main.bounds.height)
                    .animation(.spring().delay(0.5), value: isAnimating)
                Text("art")
                    .foregroundColor(.artieLogoText)
                    .font(.custom(.gothamLight, size: 90))
                    .offset(y: isAnimating ? .zero : -UIScreen.main.bounds.height)
                    .animation(.spring().delay(1), value: isAnimating)
            }
            Text("ie")
                .foregroundColor(.artLogoText)
                .font(.custom(.gothamLight, size: 90))
                .offset(x: isAnimating ? .zero : UIScreen.main.bounds.width)
                .animation(.spring().delay(1.5), value: isAnimating)
        }
        .onAppear{
            isAnimating = true
            DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
                isPresent = true
            }
            

            Task {
                await AmplifyDataStoreConfig.shared.fetchArttist()
            }
        }
        .fullScreenCover(isPresented: $isPresent) {
            OnboardingView()
        }
    }
}
swiftui graphql aws-amplify
1个回答
0
投票

检查

awsconfiguration.json
amplifyconfiguration.json
文件是否配置正确。

© www.soinside.com 2019 - 2024. All rights reserved.