---
title: Customization
canonical: https://developer.unico.io/dual-api/developers/sdks-and-tools/ios/customization
locale: en
generated_by: markdown-export
---

:::warning[Capture flow availability]
These customizations are only available when the capture flow is **`document-capture`** or **`liveness`**.
:::

The iOS SDK supports two dimensions of customization: language and colors.

## Language

Configure the language of informational messages in the capture frames via the `setLocale` method. Use the `LocaleTypes` enum:

- `LocaleTypes.PT_BR` — Portuguese (Brazil)
- `LocaleTypes.ES_MX` — Spanish (Mexico)
- `LocaleTypes.ES_ES` — Spanish (Spain)
- `LocaleTypes.EN_US` — English (USA)

### Swift

  ```swift
  unicoCheck.setLocale(.EN_US)
  ```

### Objective-C

  ```objectivec
  [unicoCheck setLocale:EN_US];
  ```

:::info
- A remote activation may be required to use this feature. If you wish to use it, notify your project manager or Unico support.
- If not configured, the SDK uses Portuguese as the default language.
:::

Refer to [API Reference > Enums](/developers/sdks-and-tools/ios/api-reference/enums) for the full list of supported `LocaleTypes` values.

## Colors

Apply a custom theme by implementing the `AcessoBioThemeDelegate` and calling `setTheme(self)` on the `AcessoBioManager`. Each method returns `Any!` and accepts either a **`UIColor` instance** or a **hexadecimal String** (e.g. `"#FF0000"`).

| Method | What it customizes |
|---|---|
| `getColorBackground()` | Background color of the silhouette |
| `getColorBackgroundBottomDocument()` | Background color of the document capture box |
| `getColorBoxMessage()` | Background color of the message box |
| `getColorIconTakePictureButton()` | Icon color of the manual photo capture button |
| `getColorSilhouetteSuccess()` | Silhouette color when capture succeeds |
| `getColorTextBottomDocument()` | Text color of the document capture box |
| `getColorTextMessage()` | Text color inside the message box |
| `getCancelButtonIconColor()` *(optional)* | Cancel icon color for the Liveness camera with interaction. If not implemented, `getColorBackgroundTakePictureButton()` is used. |

### Swift

  ```swift
  import UIKit
  import AcessoBio

  class ViewController: UIViewController, AcessoBioManagerDelegate, AcessoBioThemeDelegate {
    var unicoCheck: AcessoBioManager!

    override func viewDidLoad() {
      super.viewDidLoad()
      unicoCheck = AcessoBioManager(viewController: self)
      unicoCheck.setTheme(self)
    }

    func getColorBackground() -> Any! { /* return color */ }
    func getColorBoxMessage() -> Any! { /* return color */ }
    func getColorTextMessage() -> Any! { /* return color */ }
    func getColorIconTakePictureButton() -> Any! { /* return color */ }
    func getColorBackgroundBottomDocument() -> Any! { /* return color */ }
    func getColorTextBottomDocument() -> Any! { /* return color */ }
    func getColorSilhouetteSuccess() -> Any! { /* return color */ }
    func getCancelButtonIconColor() -> Any! { /* return color */ }
  }
  ```

### Objective-C

  ```objectivec
  // .h
  #import "AcessoBioThemeDelegate.h"

  @interface ViewController : UIViewController
  @end

  // .m
  - (id)getColorBackground { /* return color */ }
  - (id)getColorBackgroundBottomDocument { /* return color */ }
  - (id)getColorBoxMessage { /* return color */ }
  - (id)getColorIconTakePictureButton { /* return color */ }
  - (id)getColorSilhouetteSuccess { /* return color */ }
  - (id)getColorTextBottomDocument { /* return color */ }
  - (id)getColorTextMessage { /* return color */ }
  - (id)getCancelButtonIconColor { /* return color */ }
  ```

:::warning[Customization scope]
No other customization dimensions are available. Custom UI behavior and layout are not offered by the native iOS SDK. If you need a proprietary UI, refer to the [Capture Standard](/developers/sdks-and-tools/capture-standard) option (headless API integration).
:::