TUIKit SwiftUI.login method of LoginStore to authenticate the user.sdkAppID: The sdkAppID you obtained earlier.userID: The operator's userID (e.g., user1 created during Quick Start).userSig: The operator's userSig (generated for user1 in Quick Start).// ContentView.swiftimport SwiftUIstruct ContentView: View {var body: some View {AddContactPage()}}// AddContactPage.swiftimport AtomicXimport AtomicXCoreimport SwiftUIpublic struct AddContactPage: View {@StateObject private var themeState = ThemeState.shared@State private var isLoggedIn = false@State private var isLoggingIn = true@State private var loginError: String? = nilprivate let sdkAppID: Int32 = 1234567890 // TODO: Fill in your sdkAppID hereprivate let userID = "" // TODO: Fill in your userID hereprivate let userSig = "" // TODO: Fill in your generated userSig herepublic var body: some View {Group {if isLoggedIn {addContactContentView} else if isLoggingIn {ProgressView("Logging in...")} else {VStack(spacing: 12) {Image(systemName: "exclamationmark.triangle").font(.system(size: 40)).foregroundColor(.orange)Text(loginError ?? "Login failed").foregroundColor(.secondary)}}}.environmentObject(themeState).onAppear {login()}}// MARK: - Add Contact Contentprivate var addContactContentView: some View {AddFriendView()}// MARK: - Loginprivate func login() {guard !userSig.isEmpty else {isLoggingIn = falseloginError = "userSig is empty. Please fill in a valid userSig."return}LoginStore.shared.login(sdkAppID: sdkAppID, userID: userID, userSig: userSig) { result inswitch result {case .success:print(">>>>> Login success, userID: \\(userID)")isLoggedIn = trueisLoggingIn = falsecase .failure(let error):print(">>>>> Login failed: \\(error.code), \\(error.message)")loginError = "Login failed: \\(error.code), \\(error.message)"isLoggingIn = false}}}}
Search Contact | Send Request |
![]() | ![]() |
フィードバック