# iOS – Sign in with Device

## Sign in with Device

In this guide we'll allow users to **Sign In with Device** using Cotter's SDK.&#x20;

### Step 1: Import Cotter as a dependency

**Head to** [**https://dev.cotter.app/rules**](https://dev.cotter.app/rules) **and allow Trusted Devices in the dashboard.**&#x20;

We use Cocoapods as our SDK host. Add `pod 'Cotter'` to your podfile then run `pod install`.

### Step 2: Initialize Cotter

In your app's `AppDelegate.swift`, initialize Cotter with your API keys.

```swift
import Cotter // IMPORTANT: IMPORT COTTER AS DEPENDENCY
...
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
  Cotter.configureWithLaunchOptions(
    launchOptions: launchOptions,
    apiSecretKey: <your-secret-key>,
    apiKeyID: <your-api-id>
  )
}
```

### Step 3: Register your user

To register, simply call the following function anywhere in your app. Make sure you do `import Cotter` at the start of the swift file.

```swift
Passwordless.shared.register( 
  identifier: <user-email>
)
```

### Step 4: Logging in

When a user logs in, call the following function in your view controller

```swift
Passwordless.shared.parentVC = self
Passwordless.shared.login(
  identifier: <user-email>, 
  cb: { (token: CotterOAuthToken?, err:Error?) in
    if err != nil {
        // case 1: handle error as necessary
    }
    if token == nil {
        // case 2: user is unauthorized
    }
    // case 3: user is authorized
})
```

Then you can handle 3 cases mentioned in the comments in any way you like.

## 👉 Next steps

That's it! You have successfully build a seamless, fast, and secure login mechanism with Cotter.

#### Integrate Cotter's push notification services

{% content-ref url="../sdk-reference/ios/ios-sdk-passwordless-login/ios-push-notification" %}
[ios-push-notification](https://docs.cotter.app/sdk-reference/ios/ios-sdk-passwordless-login/ios-push-notification)
{% endcontent-ref %}

#### Verify User's Email or Phone Number

{% content-ref url="../sdk-reference/ios/ios-sdk-verify-email-phone" %}
[ios-sdk-verify-email-phone](https://docs.cotter.app/sdk-reference/ios/ios-sdk-verify-email-phone)
{% endcontent-ref %}
