GenericSignIn

public protocol GenericSignIn : AnyObject
  • Some services, e.g., Facebook, are only suitable for sharing users– i.e., they don’t have cloud storage.

    Declaration

    Swift

    var userType: UserType { get }
  • For owning userType’s, this gives the specific cloud storage type. For sharing userType’s, this is nil.

    Declaration

    Swift

    var cloudStorageType: CloudStorageType? { get }
  • Delegate not dependent on the UI. Typically present through lifespan of app.

    Declaration

    Swift

    var signOutDelegate: GenericSignOutDelegate? { get set }
  • Delegate dependent on the UI. Typically present through only part of lifespan of app.

    Declaration

    Swift

    var delegate: GenericSignInDelegate? { get set }
  • Used exclusively by the SignInManager.

    Declaration

    Swift

    var managerDelegate: SignInManagerDelegate! { get set }
  • userSignedIn, when true, indicates that the user was signed-in with this GenericSignIn last time, and not signed out.

    Declaration

    Swift

    func appLaunchSetup(userSignedIn: Bool, withLaunchOptions options: [UIApplicationLaunchOptionsKey : Any]?)
  • Declaration

    Swift

    func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool
  • To enable sticky sign-in, and the GenericSignIn to refresh credentials if that wasn’t possible at app launch, this will be called when network connectivity changes state.

    Declaration

    Swift

    func networkChangedState(networkIsOnline: Bool)
  • The UI element to use to allow signing in. A successful result will give a non-nil UI element. Each time this method is called, the same element instance is returned. Passing nil will bypass the parameters required if any.

    Declaration

    Swift

    func setupSignInButton(params: [String : Any]?) -> TappableButton?
  • Returns the last value returned from setupSignInButton.

    Declaration

    Swift

    var signInButton: TappableButton? { get }
  • Sign-in is sticky. Once signed-in, they tend to stay signed-in.

    Declaration

    Swift

    var userIsSignedIn: Bool { get }
  • Non-nil if userIsSignedIn is true.

    Declaration

    Swift

    var credentials: GenericCredentials? { get }
  • Declaration

    Swift

    func signUserOut()