GiniBankConfiguration

public final class GiniBankConfiguration : NSObject

Undocumented

  • Singleton to make configuration internally accessible in all classes of the Gini Bank SDK.

    Declaration

    Swift

    public static var shared: GiniBankConfiguration
  • The appearance of the status bar in the Gini Bank SDK.

    Declaration

    Swift

    public var statusBarStyle: UIStatusBarStyle
  • Should be set if the default name “Localizable.strings” is not used.

    Declaration

    Swift

    public var localizedStringsTableName: String?
  • Enable/disable the bottom navigation bar.

    Declaration

    Swift

    public var bottomNavigationBarEnabled: Bool
  • Indicates whether the multipage feature is enabled or not. In case of true, multiple pages can be processed, showing a different review screen when capturing.

    Declaration

    Swift

    public var multipageEnabled: Bool
  • Sets the custom navigation view controller as a root view controller for Gini Bank SDK screens.

    Declaration

    Swift

    public var customNavigationController: UINavigationController?
  • Sets custom validations that can be done apart from the default ones (file size, file type…). It should throw a CustomDocumentValidationError error.

    Declaration

    Swift

    public var customDocumentValidations: ((GiniCaptureDocument) -> CustomDocumentValidationResult)
  • Should be set if the main app’s bundle is not used.

    Declaration

    Swift

    public var customResourceBundle: Bundle?
  • A configuration that defines the appearance of the primary button, including its background color, border color, title color, shadow color, corner radius, border width, shadow radius, and whether to apply a blur effect. It is used for buttons on different screens: Onboarding, Review, Digital Invoice Onboarding, Digital Invoice Overview, No Results, Error.

    Declaration

    Swift

    public lazy var primaryButtonConfiguration: ButtonConfiguration { get set }
  • A configuration that defines the appearance of the secondary button, including its background color, border color, title color, shadow color, corner radius, border width, shadow radius, and whether to apply a blur effect. It is used for buttons on different screens: No Results, Error.

    Declaration

    Swift

    public lazy var secondaryButtonConfiguration: ButtonConfiguration { get set }
  • A configuration that defines the appearance of the transparent button, including its background color, border color, title color, shadow color, corner radius, border width, shadow radius, and whether to apply a blur effect. It is used on Onboarding screen in the bottom navigation bar.

    Declaration

    Swift

    public lazy var transparentButtonConfiguration: ButtonConfiguration { get set }
  • A configuration that defines the appearance of the camera buttons, including its background color, border color, title color, shadow color, corner radius, border width, shadow radius, and whether to apply a blur effect. It is used for Browse and Flash buttons on Camera screen.

    Declaration

    Swift

    public lazy var cameraControlButtonConfiguration: ButtonConfiguration { get set }
  • A configuration that defines the appearance of the “Add Page” button, including its background color, border color, title color, shadow color, corner radius, border width, shadow radius, and whether to apply a blur effect. It is used on Reviewscreen.

    Declaration

    Swift

    public lazy var addPageButtonConfiguration: ButtonConfiguration { get set }
  • Set an adapter implementation to show a custom loading indicator on the buttons which support loading.

    Declaration

    Swift

    public var onButtonLoadingIndicator: OnButtonLoadingIndicatorAdapter?
  • Set an adapter implementation to show a custom loading indicator on the document analysis screen.

    Declaration

    Swift

    public var customLoadingIndicator: CustomLoadingIndicatorAdapter?
  • Indicates whether the QR Code scanning feature is enabled or not.

    Declaration

    Swift

    public var qrCodeScanningEnabled: Bool
  • Indicates whether only the QR Code scanning feature is enabled or not.

    Declaration

    Swift

    public var onlyQRCodeScanningEnabled: Bool
  • Set the types supported by the file import feature. GiniCaptureImportFileTypes.none by default.

    Declaration

    Swift

    public var fileImportSupportedTypes: GiniConfiguration.GiniCaptureImportFileTypes
  • Indicates whether the flash toggle should be shown in the camera screen.

    Declaration

    Swift

    public var flashToggleEnabled: Bool
  • Set whether the camera flash should be on or off when the SDK starts. The flash is off by default.

    Declaration

    Swift

    public var flashOnByDefault: Bool
  • Set an adapter implementation to show a custom bottom navigation bar on the camera screen.

    Declaration

    Swift

    public var cameraNavigationBarBottomAdapter: CameraBottomNavigationBarAdapter?
  • Indicates whether the onboarding screen should be presented at each start of the Gini Bank SDK.

    Declaration

    Swift

    public var onboardingShowAtLaunch: Bool
  • Indicates whether the onboarding screen should be presented at the first start of the Gini Bank SDK. It is advised to do so.

    Note

    Overwrites onboardingShowAtLaunch for the first launch.

    Declaration

    Swift

    public var onboardingShowAtFirstLaunch: Bool
  • Set custom onboarding pages

    Note

    For your convenience we provide the OnboardingPage struct.

    Declaration

    Swift

    public var customOnboardingPages: [OnboardingPage]?
  • Set an adapter implementation to show a custom bottom navigation bar on the onboarding screen.

    Declaration

    Swift

    public var onboardingNavigationBarBottomAdapter: OnboardingNavigationBarBottomAdapter?
  • Set an adapter implementation to show a custom illustration on the “align corners” onboarding page.

    Declaration

    Swift

    public var onboardingAlignCornersIllustrationAdapter: OnboardingIllustrationAdapter?
  • Set an adapter implementation to show a custom illustration on the “lighting” onboarding page.

    Declaration

    Swift

    public var onboardingLightingIllustrationAdapter: OnboardingIllustrationAdapter?
  • Set an adapter implementation to show a custom illustration on the “multi-page” onboarding page.

    Declaration

    Swift

    public var onboardingMultiPageIllustrationAdapter: OnboardingIllustrationAdapter?
  • Set an adapter implementation to show a custom illustration on the “QR code” onboarding page.

    Declaration

    Swift

    public var onboardingQRCodeIllustrationAdapter: OnboardingIllustrationAdapter?
  • Set an adapter implementation to show a custom bottom navigation bar on the review screen.

    Declaration

    Swift

    public var reviewNavigationBarBottomAdapter: ReviewScreenBottomNavigationBarAdapter?
  • Set an adapter implementation to show a custom bottom navigation bar on the image picker screen.

    Declaration

    Swift

    public var imagePickerNavigationBarBottomAdapter: ImagePickerBottomNavigationBarAdapter?
  • Indicates whether the open with feature is enabled or not. In case of true, a new option with the Open with tutorial will be shown on the Help menu.

    Declaration

    Swift

    public var openWithEnabled: Bool
  • Set an adapter implementation to show a custom bottom navigation bar on the help screens.

    Declaration

    Swift

    public var helpNavigationBarBottomAdapter: HelpBottomNavigationBarAdapter?
  • Set an array of additional custom help menu items. Those items will be presented as table view cells on the help menu screen. By selecting the cell the user will be redirected to the page, which represented by viewController provided by customer during the HelpMenuViewController.Item initialization.

    Declaration

    Swift

    public var customMenuItems: [HelpMenuItem]
  • Indicates whether the supported format screens should be shown. In case of false, the option won’t be shown in the Help menu.

    Declaration

    Swift

    public var shouldShowSupportedFormatsScreen: Bool
  • Sets if the Drag&Drop step should be shown in the “Open with” tutorial.

    Note

    Available just for iPad

    Declaration

    Swift

    public var shouldShowDragAndDropTutorial: Bool
  • Sets the text of the app name for the Open with tutorial texts.

    Declaration

    Swift

    public var openWithAppNameForTexts: String
  • Sets if the default error logging implementation is on.

    Declaration

    Swift

    public var giniErrorLoggerIsOn: Bool
  • Used to handle all the logging messages in order to log them in a different way.

    Declaration

    Swift

    public var logger: GiniLogger
  • Should be set if the custom error logging is implemented.

    Declaration

    Swift

    public var customGiniErrorLoggerDelegate: GiniCaptureErrorLoggerDelegate?
  • Can be turned on during development to unlock extra information and to save captured images to the camera roll.

    Warning

    Should never be used outside of a development enviroment.

    Declaration

    Swift

    public var debugModeOn: Bool
  • Undocumented

    Declaration

    Swift

    public func captureConfiguration() -> GiniConfiguration
  • Sets the configuration flags back. Used only in the example app. See SettingsViewController for the details.

    Declaration

    Swift

    public func updateConfiguration(withCaptureConfiguration configuration: GiniConfiguration)
  • Allows setting a custom font for specific text styles. The change will affect all screens where a specific text style was used.

    Declaration

    Swift

    public func updateFont(_ font: UIFont, for textStyle: UIFont.TextStyle)

    Parameters

    font

    Font that is going to be assosiated with specific text style. You can use scaled font or scale your font with our util method UIFont.scaledFont(_ font: UIFont, textStyle: UIFont.TextStyle)

    textStyle

    Constants that describe the preferred styles for fonts. Please, find additional information here

  • Undocumented

    Declaration

    Swift

    public func cleanup(paymentRecipient: String,
                        paymentReference: String,
                        paymentPurpose: String,
                        iban: String,
                        bic: String,
                        amountToPay: ExtractionAmount)
  • Function for transfer summary. Provides transfer summary to Gini. Please provide the required transfer summary to improve the future extraction accuracy.

    Please follow the recommendations below:

    • Make sure to call this method before calling cleanup() if the user has completed TAN verification.
    • Provide values for all necessary fields, including those that were not extracted.
    • Provide the final data approved by the user (and not the initially extracted only).
    • Send the transfer summary after TAN verification and provide the extraction values the user has used.

    Declaration

    Swift

    public func sendTransferSummary(paymentRecipient: String,
                                    paymentReference: String,
                                    paymentPurpose: String,
                                    iban: String,
                                    bic: String,
                                    amountToPay: ExtractionAmount)

    Parameters

    paymentRecipient

    paymentRecipient description

    paymentReference

    paymentReference description

    iban

    iban description

    bic

    bic description

    amountToPay

    amountToPay description

  • Frees up resources used by the capture flow.

    Declaration

    Swift

    public func cleanup()