> For the complete documentation index, see [llms.txt](https://developer.gotadi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.gotadi.com/english/b2b2c-partner/sdk-method/initiate-sdk/init-ios-sdk.md).

# Init IOS SDK

{% hint style="info" %}
SDK link: <https://bitbucket.org/gotadigroup/gtd-ios-sdk>
{% endhint %}

### **Import Gotadi SDK into an iOS Project**

**Add the Library Using Swift Package Manager**

Use the SDK link above to add the library to your project via Swift Package Manager.

<div><figure><img src="/files/yglEucypuYYsRGdWaE8m" alt=""><figcaption></figcaption></figure> <figure><img src="/files/Y5gHrllwrH2vFW4KXkvd" alt=""><figcaption></figcaption></figure> <figure><img src="/files/wwSf95JVKEcRKee81OFB" alt=""><figcaption></figcaption></figure></div>

```
Build the project for the first time to import the GotadiSDK library.
```

### Example Code to Initialize IOSGotadiSDK

* **Import IOSGotadiSDK**
* Initialize **IOSGotadiSDK** in `viewDidLoad` for performance optimization.
* Init SDK and set up the partner environment with the following parameters:
  * `env`: Deployment environment \[`uat` | `prod`]
  * `partnername`: Partner name, e.g., `"vib"`
  * `language`: Display language \[`"vi"` | `"en"`]
  * `token`: JWT token obtained after authentication via Gotadi's API
  * `theme`: `primary`, `secondary`

```swift
import UIKit
import IOSGotadiSDK
class ViewController: UIViewController {
    let gotadiSDK: IOSGotadiSDK = IOSGotadiSDK.shared
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.

        //TODO: Call API authorize get Token from Gotadi
        gotadiSDK.setup(partnerSetting:
                        GotadiPartnerSetting(
                            env: "uat",
                            partnername: "vib",
                            language: "en", token: "token", theme: "primary"))
    }

        //TODO: Handle action push to gotadi search book
    @IBAction func gotoGotadiSearchBook(_ sender: Any) {
        gotadiSDK.pushToHomePartner(
            partnerViewController: self,
            handlePayment: {[weak self] gotadiViewController, bookingNumber in
                //TODO: Handle payment after checkout and receive bookingInfo
                print(bookingNumber)
                if let paymentViewController  =
                    self?.storyboard?.instantiateViewController(withIdentifier: "PaymentViewController")
                    as? PaymentViewController {
                        paymentViewController.bookingNumberResult = bookingNumber
                        gotadiViewController.navigationController?.pushViewController(paymentViewController, animated: true)
                }
        })
    }
}
```
