
### 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-347">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-347-0" data-tab-group="tabgrp-347" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-347-1" data-tab-group="tabgrp-347">Objective-C</button></div>

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

```Swift
class Synerise: NSObject
```

</div>

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

```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-348">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-348-0" data-tab-group="tabgrp-348" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-348-1" data-tab-group="tabgrp-348">Objective-C</button></div>

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

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

</div>

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

```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-349">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-349-0" data-tab-group="tabgrp-349" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-349-1" data-tab-group="tabgrp-349">Objective-C</button></div>

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

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

</div>

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

```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-350">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-350-0" data-tab-group="tabgrp-350" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-350-1" data-tab-group="tabgrp-350">Objective-C</button></div>

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

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

</div>

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

```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-351">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-351-0" data-tab-group="tabgrp-351" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-351-1" data-tab-group="tabgrp-351">Objective-C</button></div>

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

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

</div>

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

```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-352">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-352-0" data-tab-group="tabgrp-352" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-352-1" data-tab-group="tabgrp-352">Objective-C</button></div>

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

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

</div>

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

```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-353">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-353-0" data-tab-group="tabgrp-353" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-353-1" data-tab-group="tabgrp-353">Objective-C</button></div>

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

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

</div>

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

```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-354">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-354-0" data-tab-group="tabgrp-354" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-354-1" data-tab-group="tabgrp-354">Objective-C</button></div>

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

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

</div>

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

```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-355">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-355-0" data-tab-group="tabgrp-355" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-355-1" data-tab-group="tabgrp-355">Objective-C</button></div>

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

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

</div>

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

```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-356">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-356-0" data-tab-group="tabgrp-356" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-356-1" data-tab-group="tabgrp-356">Objective-C</button></div>

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

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

</div>

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

```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-357">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-357-0" data-tab-group="tabgrp-357" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-357-1" data-tab-group="tabgrp-357">Objective-C</button></div>

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

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

</div>

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

```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-358">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-358-0" data-tab-group="tabgrp-358" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-358-1" data-tab-group="tabgrp-358">Objective-C</button></div>

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

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

</div>

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

```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-359">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-359-0" data-tab-group="tabgrp-359" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-359-1" data-tab-group="tabgrp-359">Objective-C</button></div>

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

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

</div>

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

```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-360">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-360-0" data-tab-group="tabgrp-360" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-360-1" data-tab-group="tabgrp-360">Objective-C</button></div>

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

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

</div>

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

```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-361">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-361-0" data-tab-group="tabgrp-361" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-361-1" data-tab-group="tabgrp-361">Objective-C</button></div>

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

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

</div>

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

```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-362">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-362-0" data-tab-group="tabgrp-362" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-362-1" data-tab-group="tabgrp-362">Objective-C</button></div>

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

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

</div>

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

```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-363">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-363-0" data-tab-group="tabgrp-363" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-363-1" data-tab-group="tabgrp-363">Objective-C</button></div>

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

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

</div>

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

```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-364">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-364-0" data-tab-group="tabgrp-364" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-364-1" data-tab-group="tabgrp-364">Objective-C</button></div>

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

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

</div>

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

```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-365">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-365-0" data-tab-group="tabgrp-365" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-365-1" data-tab-group="tabgrp-365">Objective-C</button></div>

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

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

</div>

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

```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-366">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-366-0" data-tab-group="tabgrp-366" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-366-1" data-tab-group="tabgrp-366">Objective-C</button></div>

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

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

</div>

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

```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-367">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-367-0" data-tab-group="tabgrp-367" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-367-1" data-tab-group="tabgrp-367">Objective-C</button></div>

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

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

</div>

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

```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-368">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-368-0" data-tab-group="tabgrp-368" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-368-1" data-tab-group="tabgrp-368">Objective-C</button></div>

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

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

</div>

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

```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-369">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-369-0" data-tab-group="tabgrp-369" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-369-1" data-tab-group="tabgrp-369">Objective-C</button></div>

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

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

</div>

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

```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-370">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-370-0" data-tab-group="tabgrp-370" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-370-1" data-tab-group="tabgrp-370">Objective-C</button></div>

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

```Swift
class Client: NSObject
```

</div>

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

```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-371">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-371-0" data-tab-group="tabgrp-371" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-371-1" data-tab-group="tabgrp-371">Objective-C</button></div>

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

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

</div>

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

```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-372">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-372-0" data-tab-group="tabgrp-372" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-372-1" data-tab-group="tabgrp-372">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-372-0" data-tab-group="tabgrp-372" 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-372-1" data-tab-group="tabgrp-372">

```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-373">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-373-0" data-tab-group="tabgrp-373" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-373-1" data-tab-group="tabgrp-373">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-373-0" data-tab-group="tabgrp-373" 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-373-1" data-tab-group="tabgrp-373">

```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-374">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-374-0" data-tab-group="tabgrp-374" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-374-1" data-tab-group="tabgrp-374">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-374-0" data-tab-group="tabgrp-374" 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-374-1" data-tab-group="tabgrp-374">

```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-375">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-375-0" data-tab-group="tabgrp-375" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-375-1" data-tab-group="tabgrp-375">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-375-0" data-tab-group="tabgrp-375" 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-375-1" data-tab-group="tabgrp-375">

```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-376">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-376-0" data-tab-group="tabgrp-376" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-376-1" data-tab-group="tabgrp-376">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-376-0" data-tab-group="tabgrp-376" 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-376-1" data-tab-group="tabgrp-376">

```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-377">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-377-0" data-tab-group="tabgrp-377" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-377-1" data-tab-group="tabgrp-377">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-377-0" data-tab-group="tabgrp-377" 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-377-1" data-tab-group="tabgrp-377">

```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-378">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-378-0" data-tab-group="tabgrp-378" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-378-1" data-tab-group="tabgrp-378">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-378-0" data-tab-group="tabgrp-378" 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-378-1" data-tab-group="tabgrp-378">

```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-379">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-379-0" data-tab-group="tabgrp-379" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-379-1" data-tab-group="tabgrp-379">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-379-0" data-tab-group="tabgrp-379" 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-379-1" data-tab-group="tabgrp-379">

```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-380">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-380-0" data-tab-group="tabgrp-380" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-380-1" data-tab-group="tabgrp-380">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-380-0" data-tab-group="tabgrp-380" 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-380-1" data-tab-group="tabgrp-380">

```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-381">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-381-0" data-tab-group="tabgrp-381" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-381-1" data-tab-group="tabgrp-381">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-381-0" data-tab-group="tabgrp-381" 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-381-1" data-tab-group="tabgrp-381">

```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-382">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-382-0" data-tab-group="tabgrp-382" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-382-1" data-tab-group="tabgrp-382">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-382-0" data-tab-group="tabgrp-382" 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-382-1" data-tab-group="tabgrp-382">

```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-383">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-383-0" data-tab-group="tabgrp-383" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-383-1" data-tab-group="tabgrp-383">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-383-0" data-tab-group="tabgrp-383" 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-383-1" data-tab-group="tabgrp-383">

```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-384">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-384-0" data-tab-group="tabgrp-384" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-384-1" data-tab-group="tabgrp-384">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-384-0" data-tab-group="tabgrp-384" 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-384-1" data-tab-group="tabgrp-384">

```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-385">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-385-0" data-tab-group="tabgrp-385" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-385-1" data-tab-group="tabgrp-385">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-385-0" data-tab-group="tabgrp-385" 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-385-1" data-tab-group="tabgrp-385">

```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-386">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-386-0" data-tab-group="tabgrp-386" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-386-1" data-tab-group="tabgrp-386">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-386-0" data-tab-group="tabgrp-386" 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-386-1" data-tab-group="tabgrp-386">

```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-387">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-387-0" data-tab-group="tabgrp-387" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-387-1" data-tab-group="tabgrp-387">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-387-0" data-tab-group="tabgrp-387" 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-387-1" data-tab-group="tabgrp-387">

```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-388">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-388-0" data-tab-group="tabgrp-388" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-388-1" data-tab-group="tabgrp-388">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-388-0" data-tab-group="tabgrp-388" 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-388-1" data-tab-group="tabgrp-388">

```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-389">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-389-0" data-tab-group="tabgrp-389" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-389-1" data-tab-group="tabgrp-389">Objective-C</button></div>

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

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

</div>

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

```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-390">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-390-0" data-tab-group="tabgrp-390" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-390-1" data-tab-group="tabgrp-390">Objective-C</button></div>

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

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

</div>

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

```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-391">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-391-0" data-tab-group="tabgrp-391" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-391-1" data-tab-group="tabgrp-391">Objective-C</button></div>

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

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

</div>

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

```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-392">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-392-0" data-tab-group="tabgrp-392" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-392-1" data-tab-group="tabgrp-392">Objective-C</button></div>

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

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

</div>

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

```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-393">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-393-0" data-tab-group="tabgrp-393" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-393-1" data-tab-group="tabgrp-393">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-393-0" data-tab-group="tabgrp-393" 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-393-1" data-tab-group="tabgrp-393">

```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-394">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-394-0" data-tab-group="tabgrp-394" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-394-1" data-tab-group="tabgrp-394">Objective-C</button></div>

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

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

</div>

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

```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-395">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-395-0" data-tab-group="tabgrp-395" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-395-1" data-tab-group="tabgrp-395">Objective-C</button></div>

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

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

</div>

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

```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-396">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-396-0" data-tab-group="tabgrp-396" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-396-1" data-tab-group="tabgrp-396">Objective-C</button></div>

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

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

</div>

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

```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-397">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-397-0" data-tab-group="tabgrp-397" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-397-1" data-tab-group="tabgrp-397">Objective-C</button></div>

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

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

</div>

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

```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-398">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-398-0" data-tab-group="tabgrp-398" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-398-1" data-tab-group="tabgrp-398">Objective-C</button></div>

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

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

</div>

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

```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-399">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-399-0" data-tab-group="tabgrp-399" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-399-1" data-tab-group="tabgrp-399">Objective-C</button></div>

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

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

</div>

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

```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-400">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-400-0" data-tab-group="tabgrp-400" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-400-1" data-tab-group="tabgrp-400">Objective-C</button></div>

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

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

</div>

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

```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-401">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-401-0" data-tab-group="tabgrp-401" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-401-1" data-tab-group="tabgrp-401">Objective-C</button></div>

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

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

</div>

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

```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-402">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-402-0" data-tab-group="tabgrp-402" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-402-1" data-tab-group="tabgrp-402">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-402-0" data-tab-group="tabgrp-402" 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-402-1" data-tab-group="tabgrp-402">

```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-403">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-403-0" data-tab-group="tabgrp-403" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-403-1" data-tab-group="tabgrp-403">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-403-0" data-tab-group="tabgrp-403" 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-403-1" data-tab-group="tabgrp-403">

```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-404">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-404-0" data-tab-group="tabgrp-404" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-404-1" data-tab-group="tabgrp-404">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-404-0" data-tab-group="tabgrp-404" 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-404-1" data-tab-group="tabgrp-404">

```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-405">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-405-0" data-tab-group="tabgrp-405" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-405-1" data-tab-group="tabgrp-405">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-405-0" data-tab-group="tabgrp-405" 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-405-1" data-tab-group="tabgrp-405">

```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-406">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-406-0" data-tab-group="tabgrp-406" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-406-1" data-tab-group="tabgrp-406">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-406-0" data-tab-group="tabgrp-406" 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-406-1" data-tab-group="tabgrp-406">

```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-407">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-407-0" data-tab-group="tabgrp-407" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-407-1" data-tab-group="tabgrp-407">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-407-0" data-tab-group="tabgrp-407" 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-407-1" data-tab-group="tabgrp-407">

```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-408">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-408-0" data-tab-group="tabgrp-408" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-408-1" data-tab-group="tabgrp-408">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-408-0" data-tab-group="tabgrp-408" 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-408-1" data-tab-group="tabgrp-408">

```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-409">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-409-0" data-tab-group="tabgrp-409" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-409-1" data-tab-group="tabgrp-409">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-409-0" data-tab-group="tabgrp-409" 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-409-1" data-tab-group="tabgrp-409">

```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-410">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-410-0" data-tab-group="tabgrp-410" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-410-1" data-tab-group="tabgrp-410">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-410-0" data-tab-group="tabgrp-410" 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-410-1" data-tab-group="tabgrp-410">

```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-411">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-411-0" data-tab-group="tabgrp-411" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-411-1" data-tab-group="tabgrp-411">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-411-0" data-tab-group="tabgrp-411" 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-411-1" data-tab-group="tabgrp-411">

```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-412">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-412-0" data-tab-group="tabgrp-412" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-412-1" data-tab-group="tabgrp-412">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-412-0" data-tab-group="tabgrp-412" 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-412-1" data-tab-group="tabgrp-412">

```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-413">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-413-0" data-tab-group="tabgrp-413" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-413-1" data-tab-group="tabgrp-413">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-413-0" data-tab-group="tabgrp-413" 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-413-1" data-tab-group="tabgrp-413">

```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-414">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-414-0" data-tab-group="tabgrp-414" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-414-1" data-tab-group="tabgrp-414">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-414-0" data-tab-group="tabgrp-414" 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-414-1" data-tab-group="tabgrp-414">

```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-415">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-415-0" data-tab-group="tabgrp-415" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-415-1" data-tab-group="tabgrp-415">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-415-0" data-tab-group="tabgrp-415" 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-415-1" data-tab-group="tabgrp-415">

```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-416">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-416-0" data-tab-group="tabgrp-416" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-416-1" data-tab-group="tabgrp-416">Objective-C</button></div>

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

```Swift
class Tracker: NSObject
```

</div>

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

```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-417">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-417-0" data-tab-group="tabgrp-417" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-417-1" data-tab-group="tabgrp-417">Objective-C</button></div>

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

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

</div>

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

```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-418">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-418-0" data-tab-group="tabgrp-418" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-418-1" data-tab-group="tabgrp-418">Objective-C</button></div>

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

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

</div>

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

```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-419">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-419-0" data-tab-group="tabgrp-419" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-419-1" data-tab-group="tabgrp-419">Objective-C</button></div>

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

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

</div>

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

```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-420">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-420-0" data-tab-group="tabgrp-420" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-420-1" data-tab-group="tabgrp-420">Objective-C</button></div>

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

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

</div>

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

```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-421">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-421-0" data-tab-group="tabgrp-421" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-421-1" data-tab-group="tabgrp-421">Objective-C</button></div>

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

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

</div>

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

```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-422">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-422-0" data-tab-group="tabgrp-422" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-422-1" data-tab-group="tabgrp-422">Objective-C</button></div>

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

```Swift
class Injector: NSObject
```

</div>

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

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

</div>
</div>

  
**Methods:**

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

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

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

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

</div>

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

```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-424">
  <div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-424-0" data-tab-group="tabgrp-424" data-tab-active="true">swift</button><button class="tab-button" data-tab-id="tabgrp-424-1" data-tab-group="tabgrp-424">objective-c</button></div>

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

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

  </div>

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

  ```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-425">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-425-0" data-tab-group="tabgrp-425" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-425-1" data-tab-group="tabgrp-425">Objective-C</button></div>

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

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

</div>

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

```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-426">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-426-0" data-tab-group="tabgrp-426" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-426-1" data-tab-group="tabgrp-426">Objective-C</button></div>

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

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

</div>

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

```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-427">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-427-0" data-tab-group="tabgrp-427" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-427-1" data-tab-group="tabgrp-427">Objective-C</button></div>

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

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

</div>

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

```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-428">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-428-0" data-tab-group="tabgrp-428" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-428-1" data-tab-group="tabgrp-428">Objective-C</button></div>

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

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

</div>

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

```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-429">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-429-0" data-tab-group="tabgrp-429" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-429-1" data-tab-group="tabgrp-429">Objective-C</button></div>

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

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

</div>

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

```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-430">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-430-0" data-tab-group="tabgrp-430" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-430-1" data-tab-group="tabgrp-430">Objective-C</button></div>

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

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

</div>

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

```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-431">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-431-0" data-tab-group="tabgrp-431" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-431-1" data-tab-group="tabgrp-431">Objective-C</button></div>

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

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

</div>

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

```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-432">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-432-0" data-tab-group="tabgrp-432" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-432-1" data-tab-group="tabgrp-432">Objective-C</button></div>

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

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

</div>

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

```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-433">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-433-0" data-tab-group="tabgrp-433" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-433-1" data-tab-group="tabgrp-433">Objective-C</button></div>

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

```Swift
class Promotions: NSObject
```

</div>

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

```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-434">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-434-0" data-tab-group="tabgrp-434" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-434-1" data-tab-group="tabgrp-434">Objective-C</button></div>

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

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

</div>

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

```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-435">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-435-0" data-tab-group="tabgrp-435" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-435-1" data-tab-group="tabgrp-435">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-435-0" data-tab-group="tabgrp-435" 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-435-1" data-tab-group="tabgrp-435">

```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-436">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-436-0" data-tab-group="tabgrp-436" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-436-1" data-tab-group="tabgrp-436">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-436-0" data-tab-group="tabgrp-436" 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-436-1" data-tab-group="tabgrp-436">

```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-437">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-437-0" data-tab-group="tabgrp-437" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-437-1" data-tab-group="tabgrp-437">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-437-0" data-tab-group="tabgrp-437" 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-437-1" data-tab-group="tabgrp-437">

```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-438">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-438-0" data-tab-group="tabgrp-438" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-438-1" data-tab-group="tabgrp-438">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-438-0" data-tab-group="tabgrp-438" 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-438-1" data-tab-group="tabgrp-438">

```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-439">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-439-0" data-tab-group="tabgrp-439" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-439-1" data-tab-group="tabgrp-439">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-439-0" data-tab-group="tabgrp-439" 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-439-1" data-tab-group="tabgrp-439">

```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-440">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-440-0" data-tab-group="tabgrp-440" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-440-1" data-tab-group="tabgrp-440">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-440-0" data-tab-group="tabgrp-440" 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-440-1" data-tab-group="tabgrp-440">

```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-441">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-441-0" data-tab-group="tabgrp-441" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-441-1" data-tab-group="tabgrp-441">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-441-0" data-tab-group="tabgrp-441" 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-441-1" data-tab-group="tabgrp-441">

```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-442">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-442-0" data-tab-group="tabgrp-442" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-442-1" data-tab-group="tabgrp-442">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-442-0" data-tab-group="tabgrp-442" 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-442-1" data-tab-group="tabgrp-442">

```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-443">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-443-0" data-tab-group="tabgrp-443" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-443-1" data-tab-group="tabgrp-443">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-443-0" data-tab-group="tabgrp-443" 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-443-1" data-tab-group="tabgrp-443">

```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-444">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-444-0" data-tab-group="tabgrp-444" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-444-1" data-tab-group="tabgrp-444">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-444-0" data-tab-group="tabgrp-444" 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-444-1" data-tab-group="tabgrp-444">

```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-445">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-445-0" data-tab-group="tabgrp-445" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-445-1" data-tab-group="tabgrp-445">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-445-0" data-tab-group="tabgrp-445" 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-445-1" data-tab-group="tabgrp-445">

```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-446">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-446-0" data-tab-group="tabgrp-446" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-446-1" data-tab-group="tabgrp-446">Objective-C</button></div>

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

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

</div>

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

```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-447">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-447-0" data-tab-group="tabgrp-447" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-447-1" data-tab-group="tabgrp-447">Objective-C</button></div>

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

```Swift
class Content: NSObject
```

</div>

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

```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-448">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-448-0" data-tab-group="tabgrp-448" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-448-1" data-tab-group="tabgrp-448">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-448-0" data-tab-group="tabgrp-448" 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-448-1" data-tab-group="tabgrp-448">

```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-449">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-449-0" data-tab-group="tabgrp-449" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-449-1" data-tab-group="tabgrp-449">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-449-0" data-tab-group="tabgrp-449" 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-449-1" data-tab-group="tabgrp-449">

```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-450">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-450-0" data-tab-group="tabgrp-450" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-450-1" data-tab-group="tabgrp-450">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-450-0" data-tab-group="tabgrp-450" 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-450-1" data-tab-group="tabgrp-450">

```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-451">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-451-0" data-tab-group="tabgrp-451" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-451-1" data-tab-group="tabgrp-451">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-451-0" data-tab-group="tabgrp-451" 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-451-1" data-tab-group="tabgrp-451">

```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-452">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-452-0" data-tab-group="tabgrp-452" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-452-1" data-tab-group="tabgrp-452">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-452-0" data-tab-group="tabgrp-452" 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-452-1" data-tab-group="tabgrp-452">

```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-453">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-453-0" data-tab-group="tabgrp-453" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-453-1" data-tab-group="tabgrp-453">Objective-C</button></div>

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

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

</div>

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

```Objective-C
+ (void)getRecommendationsV2:(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-v2)

---

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

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

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

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

</div>

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

```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-455">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-455-0" data-tab-group="tabgrp-455" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-455-1" data-tab-group="tabgrp-455">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-455-0" data-tab-group="tabgrp-455" 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-455-1" data-tab-group="tabgrp-455">

```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-456">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-456-0" data-tab-group="tabgrp-456" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-456-1" data-tab-group="tabgrp-456">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-456-0" data-tab-group="tabgrp-456" 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-456-1" data-tab-group="tabgrp-456">

```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)