> For the complete documentation index, see [llms.txt](https://docs.wepin.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wepin.io/en/widget-integration/ios-swift-sdk/login-library/init.md).

# Initialization

This is how to initialize the Wepin iOS Login Library.

Before creating a WepinLogin instance, please pass App ID, and App Key to the WepinLoginParams object as follows.

```swift
let initParam = WepinLoginParams(appId: appId, appKey: appKey)
```

Please create the WepinLogin instance by passing the previously created WepinLoginParams.

```swift
WepinLogin wepin = new WepinLogin(initParam);
```

After creating the WepinLogin instance, call the `initialize` method to proceed with the initialization.

```swift
await wepin!.initialize()
```

### Example

```swift
let appKey: String = "Wepin-App-Key"
let appId: String = "Wepin-App-ID"
var wepin: WepinLogin? = nil
let initParam = WepinLoginParams(appId: appId, appKey: appKey)
wepin = WepinLogin(initParam)
// Call initialize function
do{
    let res = try await wepin!.initialize()
    self.tvResult.text = String("Successed: " + String(res!))
} catch (let error){
    self.tvResult.text = String("Faild: \(error)")
}
```

## isInitialized

You can use the `isInitialized`method to check whether the WepinLogin instance has been initialized correctly. The return values are as follows:

* \<Bool>\
  it returns **true** if the initialization is successful and **false** if the initialization fails.

```swift
let result = wepin!.isInitialized()
```
