应用

public extension App
extension App: @retroactive ObservableObject
  • 登录 Realm 应用程序的用户。

    声明

    Swift

    @preconcurrency
    func login(credentials: Credentials, _ completion: @Sendable @escaping (Result<User, Error>) -> Void)

    参数

    credentials

    标识用户的凭证。

    completion

    完成后调用的回调。 将返回Result.success(User)Result.failure(Error)

  • 登录 Realm 应用程序的用户。

    声明

    Swift

    @available(macOS 10.15, watchOS 6.0, iOS 13.0, tvOS 13.0, *)
    func login(credentials: Credentials) -> Future<User, Error>

    参数

    credentials

    标识用户的凭证。

    返回值

    最终返回UserError的发布者。

  • login(credentials:) 异步(Asynchronous)

    登录 Realm 应用程序的用户。

    声明

    Swift

    @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
    func login(credentials: Credentials) async throws -> User

    参数

    credentials

    标识用户的凭证。

  • 将 ASAuthorizationControllerDelegate 设置为 App

    用法:

    let app = App(id: "my-app-id")
    let appleIDProvider = ASAuthorizationAppleIDProvider()
    let request = appleIDProvider.createRequest()
    request.requestedScopes = [.fullName, .email]
    
    let authorizationController = ASAuthorizationController(authorizationRequests: [request])
    app.setASAuthorizationControllerDelegate(controller: authorizationController)
    authorizationController.presentationContextProvider = self
    authorizationController.performRequests()
    

    声明

    Swift

    public func setASAuthorizationControllerDelegate(for controller: ASAuthorizationController)

    参数

    controller

    您希望App在其中使用其委托的 ASAuthorizationController。

  • 每次应用更改时发出 Void 的发布者。

    尽管有这个名称,但它实际上是在应用程序更改发出的。

    声明

    Swift

    public var objectWillChange: AppPublisher { get }