
### Synerise
**Declared In:**  
Headers/SNRSynerise.h

**Inherits From:**  
[NSObject](https://developer.apple.com/documentation/objectivec/nsobject)

**Declaration:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1763">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1763-0" data-tab-group="tabgrp-1763" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1763-1" data-tab-group="tabgrp-1763">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1763-0" data-tab-group="tabgrp-1763" data-tab-active="true">

```Swift
class Synerise: NSObject
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1763-1" data-tab-group="tabgrp-1763">

```Objective-C
@interface SNRSynerise : NSObject
```

</div>
</div>


**Properties:**

| Property | Type | Description |
| --- | --- | --- |
| **settings** | [Settings](/developers/mobile-sdk/class-reference/ios/lifecycle#settings) | Settings module to configure the SDK |


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The `settings` property is statically accessible.

</div></div></div>


**Methods:**

This method sets an object for Synerise delegate methods.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1764">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1764-0" data-tab-group="tabgrp-1764" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1764-1" data-tab-group="tabgrp-1764">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1764-0" data-tab-group="tabgrp-1764" data-tab-active="true">

```Swift
static func setDelegate(_: SyneriseDelegate)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1764-1" data-tab-group="tabgrp-1764">

```Objective-C
+ (void)setDelegate:(nonnull id<SNRSyneriseDelegate>)delegate
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/listeners-and-delegates/ios-delegates#synerise-delegate)

---

This method sets an object for notification delegate methods.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1765">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1765-0" data-tab-group="tabgrp-1765" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1765-1" data-tab-group="tabgrp-1765">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1765-0" data-tab-group="tabgrp-1765" data-tab-active="true">

```Swift
static func setNotificationDelegate(_: NotificationDelegate)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1765-1" data-tab-group="tabgrp-1765">

```Objective-C
+ (void)setNotificationDelegate:(id<SNRNotificationDelegate>)delegate
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/listeners-and-delegates/ios-delegates#notification-delegate)

---

This method initializes Synerise.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1766">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1766-0" data-tab-group="tabgrp-1766" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1766-1" data-tab-group="tabgrp-1766">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1766-0" data-tab-group="tabgrp-1766" data-tab-active="true">

```Swift
static func initialize(apiKey:)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1766-1" data-tab-group="tabgrp-1766">

```Objective-C
+ (void)initializeWithApiKey:(nonnull NSString *)apiKey
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/lifecycle#initialization)

---

This method initializes Synerise SDK with custom environment settings.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1767">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1767-0" data-tab-group="tabgrp-1767" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1767-1" data-tab-group="tabgrp-1767">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1767-0" data-tab-group="tabgrp-1767" data-tab-active="true">

```Swift
static func initialize(apiKey:baseUrl:)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1767-1" data-tab-group="tabgrp-1767">

```Objective-C
+ (void)initializeWithApiKey:(nonnull NSString *)apiKey andBaseUrl:(nullable NSString *)baseUrl
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/lifecycle#initialize-with-custom-environment)

---

This method sets the salt string for request validation.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1768">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1768-0" data-tab-group="tabgrp-1768" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1768-1" data-tab-group="tabgrp-1768">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1768-0" data-tab-group="tabgrp-1768" data-tab-active="true">

```Swift
static func setRequestValidationSalt(_: String?)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1768-1" data-tab-group="tabgrp-1768">

```Objective-C
+ (void)setRequestValidationSalt:(nullable NSString *)string
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/lifecycle#set-request-validation-salt)

---

This method changes a Profile (formerly Client) API key dynamically.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1769">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1769-0" data-tab-group="tabgrp-1769" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1769-1" data-tab-group="tabgrp-1769">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1769-0" data-tab-group="tabgrp-1769" data-tab-active="true">

```Swift
static func changeApiKey(apiKey: String)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1769-1" data-tab-group="tabgrp-1769">

```Objective-C
+ (void)changeApiKey:(NSString *)apiKey
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/lifecycle#change-profile-api-key-dynamically)

---
This method changes a Profile (formerly Client) API key dynamically, with additional parameters.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1770">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1770-0" data-tab-group="tabgrp-1770" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1770-1" data-tab-group="tabgrp-1770">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1770-0" data-tab-group="tabgrp-1770" data-tab-active="true">

```Swift
static func changeApiKey(_ apiKey: String, config: InitializationConfig?) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1770-1" data-tab-group="tabgrp-1770">

```Objective-C
(void)changeApiKey:(NSString *)apiKey config:(nullable SNRInitializationConfig *)config;
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/lifecycle#change-profile-api-key-dynamically-with-config)

---

This method sets the Synerise SDK host application type.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1771">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1771-0" data-tab-group="tabgrp-1771" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1771-1" data-tab-group="tabgrp-1771">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1771-0" data-tab-group="tabgrp-1771" data-tab-active="true">

```Swift
static func setHostApplicationType(_: HostApplicationType)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1771-1" data-tab-group="tabgrp-1771">

```Objective-C
+ (void)setHostApplicationType:(SNRHostApplicationType)type
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/lifecycle#set-up-host-application-type)

---

This method sets the Synerise SDK plugin version.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1772">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1772-0" data-tab-group="tabgrp-1772" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1772-1" data-tab-group="tabgrp-1772">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1772-0" data-tab-group="tabgrp-1772" data-tab-active="true">

```Swift
static func setHostApplicationSDKPluginVersion(_: String)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1772-1" data-tab-group="tabgrp-1772">

```Objective-C
+ (void)setHostApplicationSDKPluginVersion:(NSString *)type
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/lifecycle#set-host-application-sdk-plugin-version)

---

This method enables or disables console logs from Synerise SDK.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1773">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1773-0" data-tab-group="tabgrp-1773" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1773-1" data-tab-group="tabgrp-1773">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1773-0" data-tab-group="tabgrp-1773" data-tab-active="true">

```Swift
static func setDebugModeEnabled(_: Bool)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1773-1" data-tab-group="tabgrp-1773">

```Objective-C
+ (void)setDebugModeEnabled:(BOOL)enabled
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/lifecycle#enable-debug-mode)

---

This method enables or disables crash handling by Synerise SDK.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1774">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1774-0" data-tab-group="tabgrp-1774" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1774-1" data-tab-group="tabgrp-1774">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1774-0" data-tab-group="tabgrp-1774" data-tab-active="true">

```Swift
static func setCrashHandlingEnabled(_: Bool)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1774-1" data-tab-group="tabgrp-1774">

```Objective-C
+ (void)setCrashHandlingEnabled:(BOOL)enabled
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/lifecycle#enable-crash-handling)

---

This method sets the notification categories (including Synerise categories) that your app supports.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1775">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1775-0" data-tab-group="tabgrp-1775" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1775-1" data-tab-group="tabgrp-1775">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1775-0" data-tab-group="tabgrp-1775" data-tab-active="true">

```Swift
static func setNotificationCategories(_: Set<UNNotificationCategory>)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1775-1" data-tab-group="tabgrp-1775">

```Objective-C
+ (void)setNotificationCategories:(NSSet<UNNotificationCategory *> *)notificationCategories
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#set-notification-categories)

---

This method sets identifiers for Background Tasks processing.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1776">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1776-0" data-tab-group="tabgrp-1776" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1776-1" data-tab-group="tabgrp-1776">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1776-0" data-tab-group="tabgrp-1776" data-tab-active="true">

```Swift
static func setBackgroundTaskIdentifiers(_: [String])
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1776-1" data-tab-group="tabgrp-1776">

```Objective-C
+ (void)setBackgroundTaskIdentifiers:(NSArray<NSString *> *)identifiers
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#set-notification-categories)

---

This method verifies if a notification was sent by Synerise.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1777">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1777-0" data-tab-group="tabgrp-1777" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1777-1" data-tab-group="tabgrp-1777">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1777-0" data-tab-group="tabgrp-1777" data-tab-active="true">

```Swift
static func isSyneriseNotification(_: [AnyHashable: Any]) -> Bool
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1777-1" data-tab-group="tabgrp-1777">

```Objective-C
+ (BOOL)isSyneriseNotification:(nonnull NSDictionary *)userInfo
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#check-if-push-notification-is-from-synerise)

---

This method verifies if a notification’s sender is Synerise and if the notification is a Simple Push campaign

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1778">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1778-0" data-tab-group="tabgrp-1778" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1778-1" data-tab-group="tabgrp-1778">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1778-0" data-tab-group="tabgrp-1778" data-tab-active="true">

```Swift
static func isSyneriseSimplePush(_: [AnyHashable: Any]) -> Bool
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1778-1" data-tab-group="tabgrp-1778">

```Objective-C
+ (BOOL)isSyneriseSimplePush:(nonnull NSDictionary *)userInfo
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#check-if-push-notification-is-a-simple-push-campaign)

---

This method verifies if a notification’s sender is Synerise and if the notification is a Banner campaign.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1779">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1779-0" data-tab-group="tabgrp-1779" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1779-1" data-tab-group="tabgrp-1779">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1779-0" data-tab-group="tabgrp-1779" data-tab-active="true">

```Swift
static func isSyneriseBanner(_: [AnyHashable: Any]) -> Bool
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1779-1" data-tab-group="tabgrp-1779">

```Objective-C
+ (BOOL)isSyneriseBanner:(nonnull NSDictionary *)userInfo
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#check-if-push-notification-is-a-banner-campaign) **REMOVED in version 5.0.0**

---

This method verifies if a notification's sender is Synerise and if the notification is a Silent Command.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1780">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1780-0" data-tab-group="tabgrp-1780" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1780-1" data-tab-group="tabgrp-1780">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1780-0" data-tab-group="tabgrp-1780" data-tab-active="true">

```Swift
static func isSyneriseSilentCommand(_: [AnyHashable: Any]) -> Bool
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1780-1" data-tab-group="tabgrp-1780">

```Objective-C
+ (BOOL)isSyneriseSilentCommand:(nonnull NSDictionary *)userInfo
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#check-if-push-notification-is-a-silent-command)

---

This method verifies if a notification's sender is Synerise and if the notification is a Silent SDK Command.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1781">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1781-0" data-tab-group="tabgrp-1781" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1781-1" data-tab-group="tabgrp-1781">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1781-0" data-tab-group="tabgrp-1781" data-tab-active="true">

```Swift
static func isSyneriseSilentSDKCommand(_: [AnyHashable: Any]) -> Bool
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1781-1" data-tab-group="tabgrp-1781">

```Objective-C
+ (BOOL)isSyneriseSilentSDKCommand:(nonnull NSDictionary *)userInfo
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#check-if-push-notification-is-a-silent-sdk-command)

---

This method verifies if a notification is encrypted.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1782">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1782-0" data-tab-group="tabgrp-1782" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1782-1" data-tab-group="tabgrp-1782">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1782-0" data-tab-group="tabgrp-1782" data-tab-active="true">

```Swift
static func isNotificationEncrypted(_: [AnyHashable: Any]) -> Bool
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1782-1" data-tab-group="tabgrp-1782">

```Objective-C
+ (BOOL)isNotificationEncrypted:(nonnull NSDictionary *)userInfo
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#check-if-push-notification-is-encrypted)

---

This method decrypts the notification payload.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1783">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1783-0" data-tab-group="tabgrp-1783" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1783-1" data-tab-group="tabgrp-1783">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1783-0" data-tab-group="tabgrp-1783" data-tab-active="true">

```Swift
static func decryptNotification(_: [AnyHashable: Any]) -> [AnyHashable: Any]?
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1783-1" data-tab-group="tabgrp-1783">

```Objective-C
+ (nullable NSDictionary *)decryptNotification:(nonnull NSDictionary *)userInfo
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#decrypt-push-notification)

---

This method handles a notification payload and starts activity.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1784">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1784-0" data-tab-group="tabgrp-1784" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1784-1" data-tab-group="tabgrp-1784">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1784-0" data-tab-group="tabgrp-1784" data-tab-active="true">

```Swift
static func handleNotification(_: [AnyHashable: Any])
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1784-1" data-tab-group="tabgrp-1784">

```Objective-C
+ (void)handleNotification:(nonnull NSDictionary *)userInfo
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#handle-synerise-push-notification)

---

This method handles a notification payload with a user interaction and starts activity.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1785">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1785-0" data-tab-group="tabgrp-1785" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1785-1" data-tab-group="tabgrp-1785">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1785-0" data-tab-group="tabgrp-1785" data-tab-active="true">

```Swift
static func handleNotification(_: [AnyHashable: Any], actionIdentifier: String)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1785-1" data-tab-group="tabgrp-1785">

```Objective-C
+ (void)handleNotification:(nonnull NSDictionary *)userInfo actionIdentifier:(nullable NSString *)actionIdentifier
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#handle-synerise-push-notification-with-action)

---


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

- Synerise Domain is declared as a global string constant - `SNRSyneriseDomain`
- Synerise Bundle Identifier is declared as a global string constant - `SNRSyneriseBundleIdentifier`

</div></div></div>


---
---

### Client
The module for managing customer account data, registration, authentication, and authorization.
  
**Declared In:**  
Headers/SNRClient.h  
  
**Related To:**  
[ClientStateDelegate](/developers/mobile-sdk/listeners-and-delegates/ios-delegates#client-state-delegate)  
[ClientRegisterAccountContext](/developers/mobile-sdk/class-reference/ios/client#clientregisteraccountcontext)  
[ClientConditionalAuthResult](/developers/mobile-sdk/class-reference/ios/client#clientconditionalauthresult)  
[ClientConditionalAuthenticationContext](/developers/mobile-sdk/class-reference/ios/client#clientconditionalauthenticationcontext)  
[ClientAuthenticationContext](/developers/mobile-sdk/class-reference/ios/client#clientauthenticationcontext)  
[ClientOAuthAuthenticationContext](/developers/mobile-sdk/class-reference/ios/client#clientoauthauthenticationcontext)  
[ClientFacebookAuthenticationContext](/developers/mobile-sdk/class-reference/ios/client#clientfacebookauthenticationcontext)  
[ClientAppleSignInAuthenticationContext](/developers/mobile-sdk/class-reference/ios/client#clientapplesigninauthenticationcontext)  
[ClientAccountInformation](/developers/mobile-sdk/class-reference/ios/client#clientaccountinformation)  
[ClientUpdateAccountContext](/developers/mobile-sdk/class-reference/ios/client#clientupdateaccountcontext)  
[ClientUpdateAccountBasicInformationContext](/developers/mobile-sdk/class-reference/ios/client#clientupdateaccountbasicinformationcontext)  
[ClientPasswordResetRequestContext](/developers/mobile-sdk/class-reference/ios/client#clientpasswordresetrequestcontext)  
[ClientPasswordResetConfirmationContext](/developers/mobile-sdk/class-reference/ios/client#clientpasswordresetconfirmationcontext)  
[Token](/developers/mobile-sdk/class-reference/ios/client#token)  
  
**Inherits From:**  
[NSObject](https://developer.apple.com/documentation/objectivec/nsobject)  
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1786">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1786-0" data-tab-group="tabgrp-1786" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1786-1" data-tab-group="tabgrp-1786">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1786-0" data-tab-group="tabgrp-1786" data-tab-active="true">

```Swift
class Client: NSObject
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1786-1" data-tab-group="tabgrp-1786">

```Objective-C
@interface SNRTracker : NSObject
```

</div>
</div>

  
**Methods:**

This method sets an object for a customers's state delegate methods.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1787">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1787-0" data-tab-group="tabgrp-1787" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1787-1" data-tab-group="tabgrp-1787">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1787-0" data-tab-group="tabgrp-1787" data-tab-active="true">

```Swift
static func setClientStateDelegate(_: ClientStateDelegate)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1787-1" data-tab-group="tabgrp-1787">

```Objective-C
+ (void)setClientStateDelegate:(nonnull id<SNRClientStateDelegate>)delegate
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/listeners-and-delegates/ios-delegates#client-state-delegate)

---

This method registers a new customer with an email, password, and optional data.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1788">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1788-0" data-tab-group="tabgrp-1788" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1788-1" data-tab-group="tabgrp-1788">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1788-0" data-tab-group="tabgrp-1788" data-tab-active="true">

```Swift
static func registerAccount(context: ClientRegisterAccountContext, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1788-1" data-tab-group="tabgrp-1788">

```Objective-C
+ (void)registerAccount:(nonnull SNRClientRegisterAccountContext *)context success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#register-customer-account)

---

This method confirms a customer account with the confirmation token.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1789">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1789-0" data-tab-group="tabgrp-1789" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1789-1" data-tab-group="tabgrp-1789">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1789-0" data-tab-group="tabgrp-1789" data-tab-active="true">

```Swift
static func confirmAccountActivation(token: String, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1789-1" data-tab-group="tabgrp-1789">

```Objective-C
+ (void)confirmAccount:(nonnull NSString *)token success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#confirm-customer-account-activation)

---

This method activates a customer with email.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1790">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1790-0" data-tab-group="tabgrp-1790" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1790-1" data-tab-group="tabgrp-1790">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1790-0" data-tab-group="tabgrp-1790" data-tab-active="true">

```Swift
static func requestAccountActivation(email: String, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1790-1" data-tab-group="tabgrp-1790">

```Objective-C
+ (void)requestAccountActivation:(nonnull NSString *)email success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#request-customer-account-activation)

---

This method requests a customer's account registration process with the PIN code.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1791">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1791-0" data-tab-group="tabgrp-1791" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1791-1" data-tab-group="tabgrp-1791">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1791-0" data-tab-group="tabgrp-1791" data-tab-active="true">

```Swift
static func requestAccountActivationByPin(email: String, success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1791-1" data-tab-group="tabgrp-1791">

```Objective-C
+ (void)requestAccountActivationByPinWithEmail:(nonnull NSString *)email success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(SNRApiError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#request-customer-account-activation-by-pin)

---

This method confirms a customer's account registration process with the PIN code.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1792">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1792-0" data-tab-group="tabgrp-1792" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1792-1" data-tab-group="tabgrp-1792">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1792-0" data-tab-group="tabgrp-1792" data-tab-active="true">

```Swift
static func confirmAccountActivationByPin(pinCode: String, email: String, success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1792-1" data-tab-group="tabgrp-1792">

```Objective-C
+ (void)confirmAccountActivationByPin:(nonnull NSString *)pinCode email:(nonnull NSString *)email success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(SNRApiError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#confirm-customer-account-activation-by-pin)

---

This method signs a customer in to obtain a JSON Web Token (JWT) which can be used in subsequent requests.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1793">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1793-0" data-tab-group="tabgrp-1793" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1793-1" data-tab-group="tabgrp-1793">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1793-0" data-tab-group="tabgrp-1793" data-tab-active="true">

```Swift
static func signIn(email: String, password: String, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1793-1" data-tab-group="tabgrp-1793">

```Objective-C
+ (void)signInWithEmail:(nonnull NSString *)email password:(nonnull NSString *)password success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#sign-in-a-customer)

---

This method signs a customer in to obtain a JSON Web Token (JWT) which can be used in subsequent requests.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1794">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1794-0" data-tab-group="tabgrp-1794" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1794-1" data-tab-group="tabgrp-1794">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1794-0" data-tab-group="tabgrp-1794" data-tab-active="true">

```Swift
static func signInConditionally(email: String, password: String, success: ((ClientAuthenticationResult) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1794-1" data-tab-group="tabgrp-1794">

```Objective-C
+ (void)signInConditionallyWithEmail:(nonnull NSString *)email password:(nonnull NSString *)password success:(nonnull void (^)(SNRClientAuthenticationResult *authResult))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#sign-in-a-customer-conditionally)

---

This method authenticates a customer with OAuth, Facebook, Google, Apple, or Synerise.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1795">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1795-0" data-tab-group="tabgrp-1795" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1795-1" data-tab-group="tabgrp-1795">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1795-0" data-tab-group="tabgrp-1795" data-tab-active="true">

```Swift
static func authenticate(token: AnyObject, clientIdentityProvider: ClientIdentityProvider, authID: String?, context: ClientAuthenticationContext?, success: ((Bool) -> Void), failure: ((ApiError) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1795-1" data-tab-group="tabgrp-1795">

```Objective-C
+ (void)authenticateWithToken:(id)token clientIdentityProvider:(SNRClientIdentityProvider)clientIdentityProvider authID:(nullable NSString *)authID context:(nullable SNRClientAuthenticationContext *)context success:(void (^)(BOOL isSuccess))success failure:(void (^)(SNRApiError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#authenticate-customer-by-identityprovider)

---

This method authenticates a customer with OAuth, Facebook, Google, Apple, or Synerise.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1796">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1796-0" data-tab-group="tabgrp-1796" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1796-1" data-tab-group="tabgrp-1796">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1796-0" data-tab-group="tabgrp-1796" data-tab-active="true">

```Swift
static func authenticateConditionally(token: AnyObject, clientIdentityProvider: ClientIdentityProvider, authID: String?, context: ClientConditionalAuthenticationContext?, success: ((ClientAuthenticationResult) -> Void), failure: ((ApiError) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1796-1" data-tab-group="tabgrp-1796">

```Objective-C
+ (void)authenticateConditionallyWithToken:(id)token clientIdentityProvider:(SNRClientIdentityProvider)clientIdentityProvider authID:(nullable NSString *)authID context:(nullable SNRClientConditionalAuthenticationContext *)context success:(void (^)(SNRClientAuthenticationResult *authResult))success failure:(void (^)(SNRApiError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#authenticate-customer-conditionally-by-identityprovider)


---

This method authenticates a customer with OAuth.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1797">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1797-0" data-tab-group="tabgrp-1797" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1797-1" data-tab-group="tabgrp-1797">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1797-0" data-tab-group="tabgrp-1797" data-tab-active="true">

```Swift
static func authenticateByOAuth(accessToken: String, authID: String?, context: ClientOAuthAuthenticationContext?, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1797-1" data-tab-group="tabgrp-1797">

```Objective-C
+ (void)authenticateByOAuthWithAccessToken:(nonnull NSString *)accessToken authID:(nullable NSString *)authID context:(nullable SNRClientOAuthAuthenticationContext *)context success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#authenticate-customer-by-oauth-with-registration) - **REMOVED in version 5.0.0**

---

This method authenticates a customer with OAuth.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1798">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1798-0" data-tab-group="tabgrp-1798" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1798-1" data-tab-group="tabgrp-1798">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1798-0" data-tab-group="tabgrp-1798" data-tab-active="true">

```Swift
static func authenticateByOAuthIfRegistered(accessToken: String, authID: String?, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1798-1" data-tab-group="tabgrp-1798">

```Objective-C
+ (void)authenticateByOAuthIfRegisteredWithAccessToken:(nonnull NSString *)accessToken authID:(nullable NSString *)authID success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#authenticate-customer-by-oauth-without-registration) - **REMOVED in version 5.0.0**

---

This method authenticates a customer with Facebook.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1799">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1799-0" data-tab-group="tabgrp-1799" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1799-1" data-tab-group="tabgrp-1799">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1799-0" data-tab-group="tabgrp-1799" data-tab-active="true">

```Swift
static func authenticateByFacebook(facebookToken: String, authID: String?, context: ClientFacebookAuthenticationContext?, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1799-1" data-tab-group="tabgrp-1799">

```Objective-C
+ (void)authenticateByFacebookWithFacebookToken:(nonnull NSString *)facebookToken authID:(nullable NSString *)authID context:(nullable SNRClientFacebookAuthenticationContext *)context success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#authenticate-customer-by-facebook-with-registration) - **REMOVED in version 5.0.0**

---

This method authenticates a customer with Facebook.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1800">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1800-0" data-tab-group="tabgrp-1800" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1800-1" data-tab-group="tabgrp-1800">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1800-0" data-tab-group="tabgrp-1800" data-tab-active="true">

```Swift
static func authenticateByFacebookIfRegistered(facebookToken: String, authID: String?, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1800-1" data-tab-group="tabgrp-1800">

```Objective-C
+ (void)authenticateByFacebookIfRegisteredWithFacebookToken:(nonnull NSString *)facebookToken authID:(nullable NSString *)authID success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#authenticate-customer-by-facebook-without-registration) - **REMOVED in version 5.0.0**

---

This method authenticates a customer with Sign In With Apple.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1801">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1801-0" data-tab-group="tabgrp-1801" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1801-1" data-tab-group="tabgrp-1801">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1801-0" data-tab-group="tabgrp-1801" data-tab-active="true">

```Swift
static func authenticateByAppleSignIn(identityToken: Data, authID: String?, context: ClientAppleSignInAuthenticationContext?, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1801-1" data-tab-group="tabgrp-1801">

```Objective-C
+ (void)authenticateByAppleSignInWithIdentityToken:(nonnull NSData *)identityToken authID:(nullable NSString *)authID context:(nullable SNRClientAppleSignInAuthenticationContext *)context success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#authenticate-customer-by-sign-in-with-apple-with-registration) - **REMOVED in version 5.0.0**

---

This method authenticates a customer with Sign In With Apple.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1802">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1802-0" data-tab-group="tabgrp-1802" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1802-1" data-tab-group="tabgrp-1802">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1802-0" data-tab-group="tabgrp-1802" data-tab-active="true">

```Swift
static func authenticateByAppleSignInIfRegistered(identityToken: Data, authID: String?, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1802-1" data-tab-group="tabgrp-1802">

```Objective-C
+ (void)authenticateByAppleSignInIfRegisteredWithIdentityToken:(nonnull NSData *)identityToken authID:(nullable NSString *)authID success:(nonnull void (^)(BOOL isSuccess))success failure:nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#authenticate-customer-by-sign-in-with-apple-without-registration) - **REMOVED in version 5.0.0**

---

This method signs in a customer in with the provided token payload.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1803">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1803-0" data-tab-group="tabgrp-1803" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1803-1" data-tab-group="tabgrp-1803">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1803-0" data-tab-group="tabgrp-1803" data-tab-active="true">

```Swift
static func authenticate(tokenPayload: TokenPayload, authID: String, success: (() -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1803-1" data-tab-group="tabgrp-1803">

```Objective-C
+ (void)authenticateWithTokenPayload:(SNRTokenPayload *)tokenPayload authID:(NSString *)authID success:(void (^)(void))success failure:(void (^)(SNRApiError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#authenticate-customer-with-token-payload)

---

This method authenticates a customer with Simple Profile Authentication.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1804">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1804-0" data-tab-group="tabgrp-1804" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1804-1" data-tab-group="tabgrp-1804">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1804-0" data-tab-group="tabgrp-1804" data-tab-active="true">

```Swift
static func simpleAuthentication(data: ClientSimpleAuthenticationData, authID: String, success: (() -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1804-1" data-tab-group="tabgrp-1804">

```Objective-C
+ (void)simpleAuthentication:(SNRClientSimpleAuthenticationData *)data authID:(NSString *)authID success:(void (^)(void))success failure:(void (^)(SNRApiError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#authenticate-customer-via-simple-profile-authentication)

---

This method checks if a customer is signed in (via Synerise Authentication - RaaS, OAuth, Facebook, Apple).

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1805">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1805-0" data-tab-group="tabgrp-1805" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1805-1" data-tab-group="tabgrp-1805">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1805-0" data-tab-group="tabgrp-1805" data-tab-active="true">

```Swift
static func isSignedIn() -> Bool
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1805-1" data-tab-group="tabgrp-1805">

```Objective-C
+ (BOOL)isSignedIn
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#check-if-a-customer-is-signed-in-via-raas-oauth-facebook-apple)

---

This method checks if a customer is signed in (via Simple Profile Authentication).

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1806">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1806-0" data-tab-group="tabgrp-1806" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1806-1" data-tab-group="tabgrp-1806">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1806-0" data-tab-group="tabgrp-1806" data-tab-active="true">

```Swift
static func isSignedInViaSimpleAuthentication() -> Bool
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1806-1" data-tab-group="tabgrp-1806">

```Objective-C
+ (BOOL)isSignedInViaSimpleAuthentication
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#check-if-a-customer-is-signed-in-via-simple-profile-authentication)

---

This method signs out a customer out.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1807">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1807-0" data-tab-group="tabgrp-1807" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1807-1" data-tab-group="tabgrp-1807">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1807-0" data-tab-group="tabgrp-1807" data-tab-active="true">

```Swift
static func signOut()
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1807-1" data-tab-group="tabgrp-1807">

```Objective-C
+ (void)signOut
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#sign-out-customer)

---

This method signs out a customer out with a chosen mode.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1808">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1808-0" data-tab-group="tabgrp-1808" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1808-1" data-tab-group="tabgrp-1808">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1808-0" data-tab-group="tabgrp-1808" data-tab-active="true">

```Swift
static func signOut(mode: ClientSignOutMode)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1808-1" data-tab-group="tabgrp-1808">

```Objective-C
+ (void)signOutWithMode:(SNRClientSignOutMode)mode
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#sign-out-customer-with-mode) - **REMOVED in version 5.0.0**

---

This method signs out a customer out with a chosen mode and Determines if the method should sign out all devices

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1809">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1809-0" data-tab-group="tabgrp-1809" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1809-1" data-tab-group="tabgrp-1809">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1809-0" data-tab-group="tabgrp-1809" data-tab-active="true">

```Swift
static func signOut(mode: ClientSignOutMode, fromAllDevices: Bool, success: (() -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1809-1" data-tab-group="tabgrp-1809">

```Objective-C
+ (void)signOutWithMode:(SNRClientSignOutMode)mode fromAllDevices:(BOOL)fromAllDevices success:(void (^)(void))success failure:(void (^)(SNRApiError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-authentication#sign-out-customer-with-mode-or-from-all-devices)

---

This method refreshes the customer’s current token.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1810">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1810-0" data-tab-group="tabgrp-1810" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1810-1" data-tab-group="tabgrp-1810">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1810-0" data-tab-group="tabgrp-1810" data-tab-active="true">

```Swift
static func refreshToken(success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1810-1" data-tab-group="tabgrp-1810">

```Objective-C
+ (void)refreshTokenWithSuccess:(nonnull void (^)(void))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-session#refresh-customer-token)

---

This method retrieves the customer’s current, active token.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1811">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1811-0" data-tab-group="tabgrp-1811" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1811-1" data-tab-group="tabgrp-1811">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1811-0" data-tab-group="tabgrp-1811" data-tab-active="true">

```Swift
static func retrieveToken(success: ((Token) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1811-1" data-tab-group="tabgrp-1811">

```Objective-C
+ (void)retrieveTokenWithSuccess:(nonnull void (^)(SNRToken *token))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-session#retrieve-customer-token)

---

This method retrieves the customer’s current UUID.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1812">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1812-0" data-tab-group="tabgrp-1812" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1812-1" data-tab-group="tabgrp-1812">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1812-0" data-tab-group="tabgrp-1812" data-tab-active="true">

```Swift
static func getUUID() -> String
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1812-1" data-tab-group="tabgrp-1812">

```Objective-C
+ (NSString *)getUUID
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-session#get-current-customer-uuid)

---

Retrieves the current UUID or generates a new one from a seed.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1813">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1813-0" data-tab-group="tabgrp-1813" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1813-1" data-tab-group="tabgrp-1813">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1813-0" data-tab-group="tabgrp-1813" data-tab-active="true">

```Swift
static func getUUIDForAuthentication(authID: String) -> String
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1813-1" data-tab-group="tabgrp-1813">

```Objective-C
+ (NSString *)getUUIDForAuthenticationWithAuthID:(NSString *)authID;
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-session#get-customer-uuid-for-use-in-authentication)

---

This method regenerates the UUID and clears the authentication token, login session, custom email, and custom identifier.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1814">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1814-0" data-tab-group="tabgrp-1814" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1814-1" data-tab-group="tabgrp-1814">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1814-0" data-tab-group="tabgrp-1814" data-tab-active="true">

```Swift
static func regenerateUUID()
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1814-1" data-tab-group="tabgrp-1814">

```Objective-C
+ (BOOL)regenerateUUID
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-session#regenerate-customer)

---

This method regenerates the UUID and clears the authentication token, login session, custom email, and custom identifier.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1815">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1815-0" data-tab-group="tabgrp-1815" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1815-1" data-tab-group="tabgrp-1815">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1815-0" data-tab-group="tabgrp-1815" data-tab-active="true">

```Swift
static func regenerateUUID(clientIdentifier: String)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1815-1" data-tab-group="tabgrp-1815">

```Objective-C
+ (BOOL)regenerateUUIDWithClientIdentifier:(nullable NSString *)clientIdentifier
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-session#regenerate-customer-with-identifier)

---

This method destroys the session completely.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1816">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1816-0" data-tab-group="tabgrp-1816" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1816-1" data-tab-group="tabgrp-1816">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1816-0" data-tab-group="tabgrp-1816" data-tab-active="true">

```Swift
static func destroySession()
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1816-1" data-tab-group="tabgrp-1816">

```Objective-C
+ (void)destroySession
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-session#destroy-current-session)

---

This method gets a customer’s account information.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1817">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1817-0" data-tab-group="tabgrp-1817" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1817-1" data-tab-group="tabgrp-1817">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1817-0" data-tab-group="tabgrp-1817" data-tab-active="true">

```Swift
static func getAccount(success: ((ClientAccountInformation) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1817-1" data-tab-group="tabgrp-1817">

```Objective-C
+ (void)getAccountWithSuccess:(void (^)(SNRClientAccountInformation *accountInformation))success failure:(void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-account#get-customer-account-information)

---

This method retrieves events for an authenticated customer.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1818">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1818-0" data-tab-group="tabgrp-1818" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1818-1" data-tab-group="tabgrp-1818">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1818-0" data-tab-group="tabgrp-1818" data-tab-active="true">

```Swift
static func getEvents(apiQuery: ClientEventsApiQuery, success: (([ClientEventData]) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1818-1" data-tab-group="tabgrp-1818">

```Objective-C
+ (void)getEventsWithApiQuery:(nonnull SNRClientEventsApiQuery *)apiQuery success:(nonnull void (^)(NSArray<SNRClientEventData *> *events))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-account#get-customers-events)

---

This method updates a customer’s account’s basic information (without identification data: uuid, customId, email).

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1819">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1819-0" data-tab-group="tabgrp-1819" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1819-1" data-tab-group="tabgrp-1819">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1819-0" data-tab-group="tabgrp-1819" data-tab-active="true">

```Swift
static func updateAccountBasicInformation(context: ClientUpdateAccountBasicInformationContext, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1819-1" data-tab-group="tabgrp-1819">

```Objective-C
+ (void)updateAccountBasicInformation:(nonnull SNRClientUpdateAccountBasicInformationContext *)context success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-account#update-customer-account-basic-information)

---

This method updates a customer’s account information.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1820">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1820-0" data-tab-group="tabgrp-1820" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1820-1" data-tab-group="tabgrp-1820">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1820-0" data-tab-group="tabgrp-1820" data-tab-active="true">

```Swift
static func updateAccount(context: ClientUpdateAccountContext, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1820-1" data-tab-group="tabgrp-1820">

```Objective-C
+ (void)updateAccount:(nonnull SNRClientUpdateAccountContext *)context success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-account#update-customer-account-information)

---

This method requests a customer’s password reset with email.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1821">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1821-0" data-tab-group="tabgrp-1821" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1821-1" data-tab-group="tabgrp-1821">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1821-0" data-tab-group="tabgrp-1821" data-tab-active="true">

```Swift
static func requestPasswordReset(context: ClientPasswordResetRequestContext, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1821-1" data-tab-group="tabgrp-1821">

```Objective-C
+ (void)requestPasswordReset:(nonnull SNRClientPasswordResetRequestContext *)context success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-account#request-password-reset-for-customer-account)

---

This method confirm a customer’s password reset with the new password and token provided by password reset request.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1822">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1822-0" data-tab-group="tabgrp-1822" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1822-1" data-tab-group="tabgrp-1822">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1822-0" data-tab-group="tabgrp-1822" data-tab-active="true">

```Swift
static func confirmResetPassword(context: ClientPasswordResetConfirmationContext, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1822-1" data-tab-group="tabgrp-1822">

```Objective-C
+ (void)confirmResetPassword:(nonnull SNRClientPasswordResetConfirmationContext *)context success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-account#confirm-password-reset-for-customer-account)

---

This method changes a customer’s password.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1823">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1823-0" data-tab-group="tabgrp-1823" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1823-1" data-tab-group="tabgrp-1823">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1823-0" data-tab-group="tabgrp-1823" data-tab-active="true">

```Swift
static func changePassword(password: String, oldPassword: String, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1823-1" data-tab-group="tabgrp-1823">

```Objective-C
+ (void)changePassword:(nonnull NSString *)password oldPassword:(nonnull NSString *)oldPassword success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-account#change-customers-account-password)

---

This method requests a customer's email change.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1824">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1824-0" data-tab-group="tabgrp-1824" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1824-1" data-tab-group="tabgrp-1824">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1824-0" data-tab-group="tabgrp-1824" data-tab-active="true">

```Swift
static func requestEmailChange(email: String, password: String?, externalToken: AnyObject?, authID: String?, success: ((Bool) -> Void), failure: ((ApiError) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1824-1" data-tab-group="tabgrp-1824">

```Objective-C
+ (void)requestEmailChange:(NSString *)email password:(nullable NSString *)password externalToken:(nullable id)externalToken authID:(nullable NSString *)authID success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(SNRApiError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-account#request-email-change-for-customer-account)

---

This method confirms an email change.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1825">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1825-0" data-tab-group="tabgrp-1825" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1825-1" data-tab-group="tabgrp-1825">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1825-0" data-tab-group="tabgrp-1825" data-tab-active="true">

```Swift
static func confirmEmailChange(token: String, newsletterAgreement: Bool, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1825-1" data-tab-group="tabgrp-1825">

```Objective-C
+ (void)confirmEmailChange:(nonnull NSString *)token newsletterAgreement:(BOOL)newsletterAgreement success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-account#confirm-email-change-for-customer-account)

---

Requests a customer's phone update. A confirmation code is sent to the phone number.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1826">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1826-0" data-tab-group="tabgrp-1826" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1826-1" data-tab-group="tabgrp-1826">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1826-0" data-tab-group="tabgrp-1826" data-tab-active="true">

```Swift
static func requestPhoneUpdate(phone: String, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1826-1" data-tab-group="tabgrp-1826">

```Objective-C
+ (void)requestPhoneUpdate:(nonnull NSString *)phone success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-account#request-phone-update-on-customer-account)

---

This method confirms a phone number update. This action requires the new phone number and confirmation code as parameters.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1827">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1827-0" data-tab-group="tabgrp-1827" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1827-1" data-tab-group="tabgrp-1827">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1827-0" data-tab-group="tabgrp-1827" data-tab-active="true">

```Swift
static func confirmPhoneUpdate(phone:confirmationCode: String, smsAgreement: Bool, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1827-1" data-tab-group="tabgrp-1827">

```Objective-C
+ (void)confirmPhoneUpdate:(nonnull NSString *)phone confirmationCode:(nonnull NSString *)confirmationCode smsAgreement:(BOOL)smsAgreement success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-account#confirm-phone-update-on-customer-account)

---

This method deletes a customer's account.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1828">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1828-0" data-tab-group="tabgrp-1828" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1828-1" data-tab-group="tabgrp-1828">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1828-0" data-tab-group="tabgrp-1828" data-tab-active="true">

```Swift
static func deleteAccount(clientAuthFactor: AnyObject, clientIdentityProvider: ClientIdentityProvider, authID: String, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1828-1" data-tab-group="tabgrp-1828">

```Objective-C
+ (void)deleteAccount:(nonnull id)clientAuthFactor clientIdentityProvider:(SNRClientIdentityProvider)clientIdentityProvider authID:(nullable NSString *)authID success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-account#delete-customer-account-by-identity-provider)

---

This method deletes a customer's account.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1829">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1829-0" data-tab-group="tabgrp-1829" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1829-1" data-tab-group="tabgrp-1829">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1829-0" data-tab-group="tabgrp-1829" data-tab-active="true">

```Swift
static func deleteAccount(password: String, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1829-1" data-tab-group="tabgrp-1829">

```Objective-C
+ (void)deleteAccount:(nonnull NSString *)password success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/client-account#delete-customer-account) - **DEPRECATED in version 3.6.19**

---

This method passes the Firebase Token to Synerise for notifications and doesn't update the agreement of the profile.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1830">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1830-0" data-tab-group="tabgrp-1830" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1830-1" data-tab-group="tabgrp-1830">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1830-0" data-tab-group="tabgrp-1830" data-tab-active="true">

```Swift
static func registerForPush(registrationToken: String, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1830-1" data-tab-group="tabgrp-1830">

```Objective-C
+ (void)registerForPush:(nonnull NSString *)registrationToken success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#register-for-push-notifications-without-agreement)


---

This method passes the Firebase Token to Synerise for notifications.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1831">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1831-0" data-tab-group="tabgrp-1831" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1831-1" data-tab-group="tabgrp-1831">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1831-0" data-tab-group="tabgrp-1831" data-tab-active="true">

```Swift
static func registerForPush(registrationToken: String, mobilePushAgreement: Bool, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1831-1" data-tab-group="tabgrp-1831">

```Objective-C
+ (void)registerForPush:(nonnull NSString *)registrationToken mobilePushAgreement:(BOOL)mobilePushAgreement success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#register-for-push-notifications)

---
---

### Tracker
The module for sending event tracking data to Synerise backend. Tracking is performed by creating pre-defined or custom event objects and sending these to Synerise. It also includes automatic event interception by the Auto-Tracking feature.
  
**Declared In:**  
Headers/SNRTracker.h  
  
**Related To:**  
[Event](/developers/mobile-sdk/class-reference/ios/events#event)  
[TrackerParams](/developers/mobile-sdk/class-reference/ios/events#trackerparams)  
[TrackerParamsBuilder](/developers/mobile-sdk/class-reference/ios/events#trackerparamsbuilder)  
  
**Inherits From:**  
[NSObject](https://developer.apple.com/documentation/objectivec/nsobject)  
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1832">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1832-0" data-tab-group="tabgrp-1832" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1832-1" data-tab-group="tabgrp-1832">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1832-0" data-tab-group="tabgrp-1832" data-tab-active="true">

```Swift
class Tracker: NSObject
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1832-1" data-tab-group="tabgrp-1832">

```Objective-C
@interface SNRTracker : NSObject
```

</div>
</div>

  
**Methods:**

This method sets an object for Tracker module delegate methods.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1833">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1833-0" data-tab-group="tabgrp-1833" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1833-1" data-tab-group="tabgrp-1833">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1833-0" data-tab-group="tabgrp-1833" data-tab-active="true">

```Swift
static func setDelegate(_: TrackerDelegate)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1833-1" data-tab-group="tabgrp-1833">

```Objective-C
+ (void)setDelegate:(nonnull id<SNRTrackerDelegate>)delegate
```

</div>
</div>

[Click for more details](/developers/mobile-sdk/listeners-and-delegates/ios-delegates#tracker-delegate)

---

This method sets a custom identifier in the parameters of every event.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1834">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1834-0" data-tab-group="tabgrp-1834" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1834-1" data-tab-group="tabgrp-1834">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1834-0" data-tab-group="tabgrp-1834" data-tab-active="true">

```Swift
static func setCustomIdentifier(_: String?)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1834-1" data-tab-group="tabgrp-1834">

```Objective-C
+ (void)setCustomIdentifier:(nullable NSString *)customIdentifier
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/tracking#set-custom-identifier-for-events)

---

This method sets a custom email in the parameters of every event.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1835">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1835-0" data-tab-group="tabgrp-1835" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1835-1" data-tab-group="tabgrp-1835">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1835-0" data-tab-group="tabgrp-1835" data-tab-active="true">

```Swift
static func setCustomEmail(_: String?)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1835-1" data-tab-group="tabgrp-1835">

```Objective-C
+ (void)setCustomEmail:(nullable NSString *)customEmail
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/tracking#set-custom-email-for-events)

---

This method sends an event.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1836">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1836-0" data-tab-group="tabgrp-1836" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1836-1" data-tab-group="tabgrp-1836">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1836-0" data-tab-group="tabgrp-1836" data-tab-active="true">

```Swift
static func send(_: Event)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1836-1" data-tab-group="tabgrp-1836">

```Objective-C
+ (void)send:(SNREvent *)event
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/tracking#send-event)

---

This method forces sending the events from the queue to the server.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1837">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1837-0" data-tab-group="tabgrp-1837" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1837-1" data-tab-group="tabgrp-1837">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1837-0" data-tab-group="tabgrp-1837" data-tab-active="true">

```Swift
static func flushEvents(completionHandler: (() -> Void)?)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1837-1" data-tab-group="tabgrp-1837">

```Objective-C
+ (void)flushEventsWithCompletionHandler:(nullable void (^)(void))completion
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/tracking#flush-events-from-tracker)

---
---

### Injector
The module for handling Synerise UI activities such as walkthrough, banner, simple push, and so on.
  
**Declared In:**  
Headers/SNRInjector.h
  
**Inherits From:**  
[NSObject](https://developer.apple.com/documentation/objectivec/nsobject)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1838">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1838-0" data-tab-group="tabgrp-1838" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1838-1" data-tab-group="tabgrp-1838">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1838-0" data-tab-group="tabgrp-1838" data-tab-active="true">

```Swift
class Injector: NSObject
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1838-1" data-tab-group="tabgrp-1838">

```Objective-C
@interface SNRInjector : NSObject
```

</div>
</div>

  
**Properties:**

| Property | Type | Optional | Description |
|---|---|---|---|
| inAppContext | [String: Any] | No | The global context used for personalizing in-app message content. This property is shared between overlay and inline in-app messages |

**Methods:**

This method sets an object for in-app messages delegate methods. 

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1839">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1839-0" data-tab-group="tabgrp-1839" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1839-1" data-tab-group="tabgrp-1839">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1839-0" data-tab-group="tabgrp-1839" data-tab-active="true">

```Swift
static func setInAppMessageDelegate(_: InjectorInAppMessageDelegate)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1839-1" data-tab-group="tabgrp-1839">

```Objective-C
+ (void)setInAppMessageDelegate:(id<SNRInjectorInAppMessageDelegate>)delegate
  ```

  </div>
  </div>

  [(Click for more details)](/developers/mobile-sdk/listeners-and-delegates/ios-delegates#injector-in-app-message-delegate)

  ---

  Closes an in-app message and sends an `inApp.discard` event.  

  Usage examples:
- Closing a top bar or bottom bar when the user taps outside the in-app area.
- Automatically dismissing messages when navigating away from a screen.
- Controlling in-app visibility based on app logic for a smoother user experience.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1840">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1840-0" data-tab-group="tabgrp-1840" data-tab-active="true">swift</button><button class="tab-button" data-tab-id="tabgrp-1840-1" data-tab-group="tabgrp-1840">objective-c</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1840-0" data-tab-group="tabgrp-1840" data-tab-active="true">

```swift
static func closeInAppMessage(campaignHash: String) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1840-1" data-tab-group="tabgrp-1840">

```objective-c
+ (void)closeInAppMessage:(nonnull NSString *)campaignHash
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#close-in-app-message)

---

This method fetches a walkthrough.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1841">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1841-0" data-tab-group="tabgrp-1841" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1841-1" data-tab-group="tabgrp-1841">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1841-0" data-tab-group="tabgrp-1841" data-tab-active="true">

```Swift
static func getWalkthrough()
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1841-1" data-tab-group="tabgrp-1841">

```Objective-C
+ (void)getWalkthrough
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#get-walkthrough) - **REMOVED in version 5.0.0**

---

This method shows a walkthrough when it is loaded.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1842">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1842-0" data-tab-group="tabgrp-1842" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1842-1" data-tab-group="tabgrp-1842">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1842-0" data-tab-group="tabgrp-1842" data-tab-active="true">

```Swift
static func showWalkthrough()
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1842-1" data-tab-group="tabgrp-1842">

```Objective-C
+ (void)showWalkthrough
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#show-walkthrough) - **REMOVED in version 5.0.0**

---

This method checks if a walkthrough is loaded.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1843">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1843-0" data-tab-group="tabgrp-1843" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1843-1" data-tab-group="tabgrp-1843">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1843-0" data-tab-group="tabgrp-1843" data-tab-active="true">

```Swift
static func isWalkthroughLoaded() -> Bool
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1843-1" data-tab-group="tabgrp-1843">

```Objective-C
+ (BOOL)isWalkthroughLoaded
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#check-if-walkthrough-is-loaded) - **REMOVED in version 5.0.0**

---

This method checks if the walkthrough is unique compared to the previous one.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1844">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1844-0" data-tab-group="tabgrp-1844" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1844-1" data-tab-group="tabgrp-1844">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1844-0" data-tab-group="tabgrp-1844" data-tab-active="true">

```Swift
static func isLoadedWalkthroughUnique() -> Bool
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1844-1" data-tab-group="tabgrp-1844">

```Objective-C
+ (BOOL)isLoadedWalkthroughUnique
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#check-if-loaded-walkthrough-is-unique) - **REMOVED in version 5.0.0**

---

This method fetches Push Notifications set for mobile campaigns.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1845">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1845-0" data-tab-group="tabgrp-1845" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1845-1" data-tab-group="tabgrp-1845">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1845-0" data-tab-group="tabgrp-1845" data-tab-active="true">

```Swift
static func getPushes(success: (([[AnyHashable: Any]]) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1845-1" data-tab-group="tabgrp-1845">

```Objective-C
+ (void)getPushesWithSuccess:(nonnull void (^)(NSArray<NSDictionary *> *pushes))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#get-pushes) - **REMOVED in version 5.0.0**

---

This method provides valid banners directly from SDK cache.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1846">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1846-0" data-tab-group="tabgrp-1846" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1846-1" data-tab-group="tabgrp-1846">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1846-0" data-tab-group="tabgrp-1846" data-tab-active="true">

```Swift
static func getBanners() -> [[AnyHashable: Any]]
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1846-1" data-tab-group="tabgrp-1846">

```Objective-C
+ (nonnull NSArray<NSDictionary *> *)getBanners
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#get-banners) - **REMOVED in version 4.6.0**

---

This method fetches banners set for mobile campaigns and caches the valid ones.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1847">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1847-0" data-tab-group="tabgrp-1847" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1847-1" data-tab-group="tabgrp-1847">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1847-0" data-tab-group="tabgrp-1847" data-tab-active="true">

```Swift
static func fetchBanners(success: (([[AnyHashable: Any]]) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1847-1" data-tab-group="tabgrp-1847">

```Objective-C
+ (void)fetchBannersWithSuccess:(nonnull void (^)(NSArray<NSDictionary *> *banners))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#fetch-banners) - **REMOVED in version 4.6.0**

---

This method shows a banner immediately.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1848">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1848-0" data-tab-group="tabgrp-1848" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1848-1" data-tab-group="tabgrp-1848">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1848-0" data-tab-group="tabgrp-1848" data-tab-active="true">

```Swift
static func showBanner(_: [AnyHashable: Any], markPresented: Bool)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1848-1" data-tab-group="tabgrp-1848">

```Objective-C
+ (void)showBanner:(nonnull NSDictionary *)bannerDictionary markPresented:(BOOL)markPresented
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/campaigns#show-banner) - **REMOVED in version 4.6.0**

---
---

### Promotions
The module for handling promotions and vouchers from Synerise SDK.
  
**Declared In:**  
Headers/SNRPromotions.h  
  
**Related To:**  
[PromotionsApiQuery](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#promotionsapiquery)  
[PromotionIdentifier](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#promotionidentifier)  
[PromotionResponse](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#promotionresponse)  
[Promotion](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#promotion)  
[AssignVoucherResponse](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#assignvoucherresponse)  
[VoucherCodesResponse](/developers/mobile-sdk/class-reference/ios/promotions-and-vouchers#vouchercodesresponse)  
  
**Inherits From:**  
[NSObject](https://developer.apple.com/documentation/objectivec/nsobject)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1849">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1849-0" data-tab-group="tabgrp-1849" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1849-1" data-tab-group="tabgrp-1849">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1849-0" data-tab-group="tabgrp-1849" data-tab-active="true">

```Swift
class Promotions: NSObject
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1849-1" data-tab-group="tabgrp-1849">

```Objective-C
@interface SNRPromotions : NSObject
```

</div>
</div>

  
**Methods:**
This method retrieves all available promotions that are defined for a customer.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1850">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1850-0" data-tab-group="tabgrp-1850" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1850-1" data-tab-group="tabgrp-1850">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1850-0" data-tab-group="tabgrp-1850" data-tab-active="true">

```Swift
static func getPromotions(success: ((PromotionResponse) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1850-1" data-tab-group="tabgrp-1850">

```Objective-C
+ (void)getPromotionsWithSuccess:(nonnull void (^)(SNRPromotionResponse *promotionResponse))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/promotions#get-all-promotions-of-a-customer)

---

This method retrieves promotions that match the parameters defined in an API query.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1851">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1851-0" data-tab-group="tabgrp-1851" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1851-1" data-tab-group="tabgrp-1851">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1851-0" data-tab-group="tabgrp-1851" data-tab-active="true">

```Swift
static func getPromotions(apiQuery: PromotionsApiQuery, success: ((PromotionResponse) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1851-1" data-tab-group="tabgrp-1851">

```Objective-C
+ (void)getPromotionsWithApiQuery:(nonnull SNRPromotionsApiQuery *)apiQuery success:(nonnull void (^)(SNRPromotionResponse *promotionResponse))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/promotions#get-promotions-with-query-parameters)

---

This method retrieves the promotion with the specified UUID.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1852">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1852-0" data-tab-group="tabgrp-1852" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1852-1" data-tab-group="tabgrp-1852">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1852-0" data-tab-group="tabgrp-1852" data-tab-active="true">

```Swift
static func getPromotion(uuid: String, success: ((Promotion) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1852-1" data-tab-group="tabgrp-1852">

```Objective-C
+ (void)getPromotionByUuid:(nonnull NSString *)uuid success:(nonnull void (^)(SNRPromotion *promotion))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/promotions#get-promotion-by-uuid)

---

This method retrieves the promotion with the specified code.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1853">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1853-0" data-tab-group="tabgrp-1853" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1853-1" data-tab-group="tabgrp-1853">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1853-0" data-tab-group="tabgrp-1853" data-tab-active="true">

```Swift
static func getPromotion(code: String, success: ((Promotion) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1853-1" data-tab-group="tabgrp-1853">

```Objective-C
+ (void)getPromotionByCode:(nonnull NSString *)code success:(nonnull void (^)(SNRPromotion *promotion))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/promotions#get-promotion-by-code)

---

This method activates the promotion with the specified UUID.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1854">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1854-0" data-tab-group="tabgrp-1854" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1854-1" data-tab-group="tabgrp-1854">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1854-0" data-tab-group="tabgrp-1854" data-tab-active="true">

```Swift
static func activatePromotion(uuid: String, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1854-1" data-tab-group="tabgrp-1854">

```Objective-C
+ (void)activatePromotionByUuid:(nonnull NSString *)uuid success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/promotions#activate-promotion-by-uuid)

---

This method activates the promotion with the specified code.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1855">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1855-0" data-tab-group="tabgrp-1855" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1855-1" data-tab-group="tabgrp-1855">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1855-0" data-tab-group="tabgrp-1855" data-tab-active="true">

```Swift
static func activatePromotion(code: String, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1855-1" data-tab-group="tabgrp-1855">

```Objective-C
+ (void)activatePromotionByCode:(nonnull NSString *)code success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/promotions#activate-promotion-by-code)

---

This method activates promotions with a code or with UUID in a batch.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1856">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1856-0" data-tab-group="tabgrp-1856" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1856-1" data-tab-group="tabgrp-1856">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1856-0" data-tab-group="tabgrp-1856" data-tab-active="true">

```Swift
static func activatePromotions(identifiers: [PromotionIdentifier], success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1856-1" data-tab-group="tabgrp-1856">

```Objective-C
+ (void)activatePromotionsWithIdentifiers:(nonnull NSArray<SNRPromotionIdentifier *> *)identifiers success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(SNRApiError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/promotions#activate-promotions-in-a-batch)

---

This method deactivates the promotion with the specified UUID.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1857">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1857-0" data-tab-group="tabgrp-1857" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1857-1" data-tab-group="tabgrp-1857">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1857-0" data-tab-group="tabgrp-1857" data-tab-active="true">

```Swift
static func deactivatePromotion(uuid: String, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1857-1" data-tab-group="tabgrp-1857">

```Objective-C
+ (void)deactivatePromotionByUuid:(nonnull NSString *)uuid success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/promotions#deactivate-promotion-by-uuid)

---

This method deactivates the promotion with the specified code.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1858">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1858-0" data-tab-group="tabgrp-1858" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1858-1" data-tab-group="tabgrp-1858">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1858-0" data-tab-group="tabgrp-1858" data-tab-active="true">

```Swift
static func deactivatePromotion(code: String, success: ((Bool) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1858-1" data-tab-group="tabgrp-1858">

```Objective-C
+ (void)deactivatePromotionByUuid:(nonnull NSString *)uuid success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/promotions#deactivate-promotion-by-code)

---

This method deactivates promotions with a code or with UUID in a batch.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1859">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1859-0" data-tab-group="tabgrp-1859" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1859-1" data-tab-group="tabgrp-1859">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1859-0" data-tab-group="tabgrp-1859" data-tab-active="true">

```Swift
static func deactivatePromotions(identifiers: [PromotionIdentifier], success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1859-1" data-tab-group="tabgrp-1859">

```Objective-C
+ (void)deactivatePromotionsWithIdentifiers:(nonnull NSArray<SNRPromotionIdentifier *> *)identifiers success:(nonnull void (^)(BOOL isSuccess))success failure:(nonnull void (^)(SNRApiError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/promotions#deactivate-promotions-in-a-batch)

---

This method retrieves an assigned voucher code or assigns a voucher from a pool identified by UUID to the profile.

When the voucher is assigned for the first time, a [voucherCode.assigned](/docs/assets/events/event-reference/loyalty#vouchercodeassigned) event is produced.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1860">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1860-0" data-tab-group="tabgrp-1860" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1860-1" data-tab-group="tabgrp-1860">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1860-0" data-tab-group="tabgrp-1860" data-tab-active="true">

```Swift
static func getOrAssignVoucher(poolUUID: String, success: ((AssignVoucherResponse) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1860-1" data-tab-group="tabgrp-1860">

```Objective-C
+ (void)getOrAssignVoucherWithPoolUUID:(NSString *)poolUUID success:(void (^)(SNRAssignVoucherResponse *assignVoucherResponse))success failure:(void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/promotions#get-or-assign-voucher-from-pool)

---

This method assigns a voucher from a pool identified by UUID to the profile.

A [voucherCode.assigned](/docs/assets/events/event-reference/loyalty#vouchercodeassigned) event is produced.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1861">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1861-0" data-tab-group="tabgrp-1861" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1861-1" data-tab-group="tabgrp-1861">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1861-0" data-tab-group="tabgrp-1861" data-tab-active="true">

```Swift
static func assignVoucherCode(poolUUID: String, success: ((AssignVoucherResponse) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1861-1" data-tab-group="tabgrp-1861">

```Objective-C
+ (void)assignVoucherCodeWithPoolUUID:(nonnull NSString *)poolUUID success:(nonnull void (^)(SNRAssignVoucherResponse *assignVoucherResponse))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/promotions#assign-voucher-code-from-pool)

---

This method retrieves voucher codes for a customer.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1862">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1862-0" data-tab-group="tabgrp-1862" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1862-1" data-tab-group="tabgrp-1862">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1862-0" data-tab-group="tabgrp-1862" data-tab-active="true">

```Swift
static func getAssignedVoucherCodes(success: ((VoucherCodesResponse) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1862-1" data-tab-group="tabgrp-1862">

```Objective-C
+ (void)getAssignedVoucherCodesWithSuccess:(nonnull void (^)(SNRVoucherCodesResponse *voucherCodesResponse))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/promotions#get-voucher-codes-assigned-to-customer)

---
---
 
### Content
The module for handling content from Synerise backend such as documents, recommendations, and so on.
  
**Declared In:**  
Headers/SNRContent.h
  
**Related To:**  
[Document](/developers/mobile-sdk/class-reference/ios/recommendations-and-documents#document)  
[DocumentApiQuery](/developers/mobile-sdk/class-reference/ios/recommendations-and-documents#documentapiquery)  
[DocumentsApiQuery](/developers/mobile-sdk/class-reference/ios/recommendations-and-documents#documentsapiquery)  
[RecommendationResponse](/developers/mobile-sdk/class-reference/ios/recommendations-and-documents#recommendationresponse)  
[Recommendation](/developers/mobile-sdk/class-reference/ios/recommendations-and-documents#recommendation)  
[ScreenView](/developers/mobile-sdk/class-reference/ios/miscellaneous#screenview)  
[ScreenViewApiQuery](/developers/mobile-sdk/class-reference/ios/miscellaneous#screenviewapiquery)  
  
**Inherits From:**  
[NSObject](https://developer.apple.com/documentation/objectivec/nsobject)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1863">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1863-0" data-tab-group="tabgrp-1863" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1863-1" data-tab-group="tabgrp-1863">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1863-0" data-tab-group="tabgrp-1863" data-tab-active="true">

```Swift
class Content: NSObject
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1863-1" data-tab-group="tabgrp-1863">

```Objective-C
@interface SNRContent : NSObject
```

</div>
</div>

  
**Methods:**

This method generates the document assigned to a slug.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1864">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1864-0" data-tab-group="tabgrp-1864" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1864-1" data-tab-group="tabgrp-1864">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1864-0" data-tab-group="tabgrp-1864" data-tab-active="true">

```Swift
static func getDocument(slug: String, success: (([AnyHashable: Any]) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1864-1" data-tab-group="tabgrp-1864">

```Objective-C
+ (void)getDocument:(nonnull NSString *)slug success:(nonnull void (^)(NSDictionary *document))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/content#get-document) - **REMOVED in version 5.0.0**

---

This method generates the document that is defined for the provided slug.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1865">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1865-0" data-tab-group="tabgrp-1865" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1865-1" data-tab-group="tabgrp-1865">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1865-0" data-tab-group="tabgrp-1865" data-tab-active="true">

```Swift
static func generateDocument(slug: String, success: ((Document) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1865-1" data-tab-group="tabgrp-1865">

```Objective-C
+ (void)generateDocument:(nonnull NSString *)slug success:(nonnull void (^)(SNRDocument *document))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/content#generate-document)

---

This method generates the document that is defined for parameters provided in the query object.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1866">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1866-0" data-tab-group="tabgrp-1866" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1866-1" data-tab-group="tabgrp-1866">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1866-0" data-tab-group="tabgrp-1866" data-tab-active="true">

```Swift
static func generateDocument(apiQuery: DocumentApiQuery, success: ((Document) -> Void), failure: ((ApiError) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1866-1" data-tab-group="tabgrp-1866">

```Objective-C
+ (void)generateDocumentWithApiQuery:(SNRDocumentApiQuery *)apiQuery success:(void (^)(SNRDocument *document))success failure:(void (^)(SNRApiError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/content#generate-document-with-query-parameters)

---

This method generates documents that are defined for parameters provided in the query object.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1867">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1867-0" data-tab-group="tabgrp-1867" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1867-1" data-tab-group="tabgrp-1867">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1867-0" data-tab-group="tabgrp-1867" data-tab-active="true">

```Swift
static func getDocuments(apiQuery: DocumentsApiQuery, success: (([[AnyHashable: Any]]) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1867-1" data-tab-group="tabgrp-1867">

```Objective-C
+ (void)getDocumentsWithApiQuery:(nonnull SNRDocumentsApiQuery *)apiQuery success:(nonnull void (^)(NSArray *documents))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/content#get-documents) - **REMOVED in version 5.0.0**

---

This method generates recommendations that are defined for the options provided. The recommendations are generated by using a document with an insert.  

For instructions, see ["Displaying AI recommendations > With documents and screen views"](/developers/mobile-sdk/displaying-recommendations/documents).

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1868">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1868-0" data-tab-group="tabgrp-1868" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1868-1" data-tab-group="tabgrp-1868">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1868-0" data-tab-group="tabgrp-1868" data-tab-active="true">

```Swift
static func getRecommendations(options: RecommendationOptions, success: ((RecommendationResponse) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1868-1" data-tab-group="tabgrp-1868">

```Objective-C
+ (void)getRecommendations:(nonnull SNRRecommendationOptions *)options success:(nonnull void (^)(SNRRecommendationResponse *recommendationResponse))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/content#get-recommendations) - **REMOVED in version 5.0.0**

---

This method generates recommendations that are defined for the options provided. The recommendations are generated by using a document with an insert.  

For instructions, see ["Displaying AI recommendations > With documents and screen views"](/developers/mobile-sdk/displaying-recommendations/documents).

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1869">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1869-0" data-tab-group="tabgrp-1869" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1869-1" data-tab-group="tabgrp-1869">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1869-0" data-tab-group="tabgrp-1869" data-tab-active="true">

```Swift
static func getRecommendationsV2(apiQuery: RecommendationApiQuery, success: ((RecommendationResponse) -> Void), failure: ((Error) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1869-1" data-tab-group="tabgrp-1869">

```Objective-C
+ (void)getRecommendationsV2:(nonnull SNRRecommendationApiQuery *)apiQuery success:(nonnull void (^)(SNRRecommendationResponse *recommendationResponse))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/content#get-recommendations-v2)

---

This method generates the customer's highest-priority screen view campaign.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1870">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1870-0" data-tab-group="tabgrp-1870" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1870-1" data-tab-group="tabgrp-1870">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1870-0" data-tab-group="tabgrp-1870" data-tab-active="true">

```Swift
static func getScreenView(success: ((ScreenViewResponse) -> Void), failure: ((ApiError) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1870-1" data-tab-group="tabgrp-1870">

```Objective-C
+ (void)getScreenViewWithSuccess:(nonnull void (^)(SNRScreenViewResponse *screenViewResponse))success failure:(nonnull void (^)(SNRApiError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/content#get-screen-view) - **REMOVED in version 5.0.0**

---

This method generates a customer's highest-priority screen view campaign from the feed with the provided feed slug.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1871">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1871-0" data-tab-group="tabgrp-1871" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1871-1" data-tab-group="tabgrp-1871">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1871-0" data-tab-group="tabgrp-1871" data-tab-active="true">

```Swift
static func generateScreenView(feedSlug: String, success: ((ScreenView) -> Void), failure: ((ApiError) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1871-1" data-tab-group="tabgrp-1871">

```Objective-C
+ (void)generateScreenView:(NSString *)feedSlug success:(nonnull void (^)(SNRScreenView *screenView))success failure:(nonnull void (^)(SNRApiError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/content#generate-screen-view)
---

This method generates customer's highest-priority screen view campaign that is defined for parameters provided in the query object.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1872">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1872-0" data-tab-group="tabgrp-1872" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1872-1" data-tab-group="tabgrp-1872">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1872-0" data-tab-group="tabgrp-1872" data-tab-active="true">

```Swift
static func generateScreenView(apiQuery: ScreenViewApiQuery, success: ((ScreenView) -> Void), failure: ((ApiError) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1872-1" data-tab-group="tabgrp-1872">

```Objective-C
+ (void)generateScreenView:(SNRScreenViewApiQuery *)apiQuery success:(nonnull void (^)(SNRScreenView *screenView))success failure:(nonnull void (^)(SNRApiError *error))failure
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/ios/content#generate-screen-view-with-query-parameters)