Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

사용자 생성 및 삭제 - Swift SDK

이 페이지의 내용

  • 사용자 만들기
  • 사용자 삭제
  • 비동기/대기로 사용자 삭제
  • 완료 핸들러로 사용자 삭제

대부분의 인증 방법 의 경우, 사용자가 처음 인증할 때 Atlas App Services 는 자동으로 사용자 객체 를 생성합니다. 유일한 예외는 이메일/비밀번호 인증 입니다. 이메일/비밀번호 인증 을 사용하는 경우 사용자를 등록 하고 확인 해야 사용자가 App Services App 에 인증할 수 있습니다.

Apple 계정 삭제 요건

Apple 은 App Store 를 통해 등록된 애플리케이션이 는 계정을 생성하는 모든 사용자에게 계정을 삭제 수 있는 옵션을 제공해야 합니다. 이메일/비밀번호 인증 과 같이 사용자를 수동으로 등록해야 하는 인증 방법을 사용하든, Sign-In with Apple과 같이 자동으로 사용자를 생성하는 인증 방법을 사용하든, 까지 사용자 계정 삭제 를 구현 해야 합니다. .302022

버전 10.23.0의 새로운 기능

사용자 객체에서 delete 메서드를 호출하여 앱에서 사용자 객체를 삭제할 수 있습니다. 이렇게 하면 로컬 데이터가 지워질 뿐만 아니라 서버에서 객체가 삭제됩니다.

중요

사용자를 삭제하면 관련 메타데이터가 포함될 수 있는 사용자 객체만 삭제됩니다. 애플리케이션에서 사용자 지정 사용자 데이터나 사용자가 입력한 데이터는 삭제되지 않습니다. Apple은 애플리케이션 고객에게 데이터 보존 및 삭제 정책을 공개하고 사용자 데이터 삭제를 요청할 수 있는 방법을 제공하도록 요구합니다. 추가 사용자 데이터를 수집하는 경우 해당 데이터를 삭제하는 자체 방법이나 프로세스를 구현해야 합니다.

애플리케이션 에서 Apple의 비동기/대기 구문을 사용하는 경우:

func testAsyncDeleteUser() async throws {
// Logging in using anonymous authentication creates a user object
let syncUser = try await app.login(credentials: Credentials.anonymous)
// Now we have a user, and the total users in the app = 1
XCTAssertNotNil(syncUser)
XCTAssertEqual(app.allUsers.count, 1)
// Call the `delete` method to delete the user
try await syncUser.delete()
// When you delete the user, the SyncSession is destroyed and
// there is no current user.
XCTAssertNil(app.currentUser)
// Now that we've deleted the user, the app has no users.
XCTAssertEqual(app.allUsers.count, 0)
}

Realm Swift SDK 버전 10.15.0 및 10.16.0부터 많은 Realm API가 Swift async/await 구문을 지원합니다. 프로젝트는 다음 요구 사항을 충족해야 합니다.

Swift SDK 버전
Swift 버전 요구 사항
지원되는 OS
10.25.0
Swift 5.6
iOS 13.x
10.15.0 또는 10.16.0
Swift 5.5
iOS 15.x

앱이 async/await 컨텍스트에서 Realm에 액세스하는 경우 코드를 @MainActor(으)로 표시하여 스레드 관련 충돌을 방지합니다.

애플리케이션이 비동기/대기를 사용하지 않는 경우:

// Logging in using anonymous authentication creates a user object
app.login(credentials: Credentials.anonymous) { [self] (result) in
switch result {
case .failure(let error):
fatalError("Login failed: \(error.localizedDescription)")
case .success(let user):
// Assign the user object to a variable to demonstrate user deletion
syncUser = user
}
}
// Later, after the user is loggedd in we have a user,
// and the total users in the app = 1
XCTAssertNotNil(syncUser)
XCTAssertEqual(app.allUsers.count, 1)
// Call the `delete` method to delete the user
syncUser!.delete { (error) in
XCTAssertNil(error)
}
// When you delete the user, the SyncSession is destroyed and
// there is no current user.
XCTAssertNil(app.currentUser)
// Now that we've deleted the user, the app has no users.
XCTAssertEqual(app.allUsers.count, 0)

돌아가기

사용자 관리