Skip to main content

BlueConic SDK for iOS Release Notes

Updated over a week ago

These release notes provide an overview of incremental updates to the BlueConic SDK for iOS, including the SDK version number, the date of release, and a summary of major changes or additions.

5.0.0 - July 10, 2025

Added

  • Added support for Apple TV devices.

  • Added the ability to delete a profile ID server-side via the SDK. This can be done by calling the `deleteProfile` method on the `BlueConicClient` instance. Additionally, the `clearProfileId` has been renamed to `createProfile`, having the same functionality as before.

  • Introduced a new 'Profile' object and migrated all the profile-related methods to this new object. The `BlueConicClient` now has a `getProfile()` function that returns the `Profile` object, which contains methods for managing profile data.

Fixed

  • Fixed issue with certain callbacks being invoked multiple times.

  • Fixed an issue with the SDK not sending the 'time' parameter to the server in the correct format.

4.0.2 - April 4, 2025

Fixed

  • Fixed issue where profile operations were not invoking the success callback if the operation was successful.

  • Fixed issue with Fullscreen Lightbox not loading correctly in some cases.

4.0.1 - February 17, 2025

Added

  • Additional callback error type for when the SDK does not have an internet connection

Fixed

  • Fixed issue where the SDK would report that it is not enabled, but another error occurred, like no internet connection.

4.0.0 - December 15, 2024

Changed

  • Removed the requirement to add your hostname to the app's plist files. The SDK now requires to be initialized with a 'BlueConicConfiguration' object in the code via an 'initialize' function.

  • Reworked the SDK to require an initialization step before any other SDK functions can be called.

  • The SDK BlueConicEventFactory class is not available anymore. Instead, the BlueConicEventManager class can be retrieved from the SDK instance via the 'BlueConic.getInstance().getEventManager()' method.

Added

  • Dedicated functions for creating events that are sent to the BlueConic server for the 'PageView', 'Click', 'View', and 'Conversion' events. These functions can be called from the SDK instance.

  • Dedicated functions for publishing events for the 'ClickEvent', 'AdvancedEvent', 'FormSubmitEvent', 'UpdateContentEvent', and 'UpdateValuesEvent' events. These functions can be called from the BlueConicEventManager class.

  • Visit Listener plugin support.

  • Ability to subscribe and unsubscribe to events via the BlueConicEventManager class. Currently, the supported events are related to the Properties-Based Dialogue plugin.

  • Ability to clear profile ID locally from the cache.

  • Optional callback information for a majority of the SDK functions.

  • Additional ability to connect to the BlueConic Simulator for testing purposes via the BlueConicConfiguration object when initializing the SDK.

  • Ability to set a custom app scheme instead of the default application bundle ID. This can be set via the BlueConicConfiguration object when initializing the SDK.

3.3.0 - June 12, 2024

Changed

  • Migrated SDK local file save location for enhanced security and added obfuscation to the file contents.

Added

  • Added support for timeline events in the SDK.

Fixed

  • Fixed minor issues with processing UI elements for Form Listeners.

3.2.0 - March 12, 2024

Added

  • Privacy Manifest as required by Apple Privacy Guidelines.

  • SDK Code signing.

3.1.0 - February 23, 2024

Added

  • Internal tracking for React Native usage

3.0.0 - October 26, 2023

Added

  • Support for Binary Framework

  • Support for Swift Package Manager

Changed

  • Updated minimum iOS version requirement to 12.

  • The main api class renamed from 'BlueConicClient' to 'BlueConic'.

2.9.0 - September 4, 2023

Added

  • Support for Swift 5.8.1

Fixed

  • Set (if empty) not setting values in Rule Based form listener.

  • Error on lightbox without content.

  • Order of plugin disposal/recreation after a page switch is incorrect.

2.8.10 - March 1, 2022

Added

  • Support for Swift 5.7.2

2.8.9 - June 7, 2022

Added

  • Support for Swift 5.6.1

  • Add increment method to BlueConic SDK for iOS.

Fixed

  • Sending information on deleted properties for RPC hash getProperties is not supported.

2.8.8 - November 24, 2021

Fixed

  • Set (if empty) not setting in Behavior Listener for Mobile SDK.

2.8.7 - September 27, 2021

Added

  • Support for Swift 5.5

Fixed

  • BlueConic SDK for iOS has a cache file that does not get cleared; slows the app down.

  • Clean up outdated files.

2.8.6 - May 3, 2021

Changed

  • BlueConic SDK for iOS creating a new profile for each pageview event. By setting bc_shared=false in the Info.plist a dedicated BlueConic cookie store is used.

Added

  • Support for Swift 5.4

2.8.5 - November 3, 2020

Changed

  • The logic in `setUrl` to only call `setHostname` when `debug` mode is `true` to avoid invalid URL as overrule hostname.

Fixed

  • Issue in the simulator mechanism to not overrule the hostname when `debug` mode is `false`.

2.8.4 - September 20, 2020

Added

  • Support for iOS 14

  • New method `setMobileAdId(mobileAdId)` that can be used to programmatically set the IDFA/ Mobile Advertising UID, to apply for the new rules regarding privacy, data tracking, and IDFA.

Removed

  • The `GlobalListener` will no longer auto-detect and set the IDFA/ Mobile Advertising UID. The profile properties "Mobile Ad Id (Most Recent)" `mobile_ad_id` & "Mobile Ad Id (all)" `mobile_ad_ids` are removed from this listener, and can be set/stored via the new method `setMobileAdId`.

2.8.3 - July 16, 2020

Fixed

  • A small issue in `EngagementService` where multiple items were stored with pipes (`|`) instead of separate values.

2.8.2 - June 16, 2020

Changed

  • BlueConicEventManager uses the BlueConic DispatchQueue.

  • Changed the GlobalListener to collect data without any `Context` to also support non-`ViewController` pages.

Added

  • Debug statements around connecting with the Simulator.

  • New method `setURL(url) -> Bool` to connect with the Simulator and retrieve a status `true` or `false` when the connection succeeded.

Fixed

  • Multithreading issues when registering Events via the `BlueConicEventManager`.

2.8.1 - April 27, 2020

Fixed

  • Process of `Segments` during a register of a `PAGEVIEW` event.

  • Support for callback methods, design for `ReactNative`-module.

2.8.0 - April 17, 2020

Changed

  • The internal property of the ViewController `context` to a `weak` variable, to avoid keeping a refers to this.

  • The `context` statement to be optional `PAGEVIEW` and/or custom events, can now trigger an event without the need of a `ViewController`.

Added

  • Support for Swift 5.2

  • New method `registerPluginClass :className` to register custom `BlueConicPlugin` classes, registering plugins and specify on class name.

  • New method `getSegments` retrieve all segments where the profile belongs to. BlueConic Segments are retrieved when there is a `PAGEVIEW` event created.

  • New method `hasSegment` validate if a profile is in a certain segment, based on Segment ID.

  • New method `createEvent :properties :completion` - Create event method with a callback/ completion mechanism to do follow up actions at the time BlueConic retrieved new data from the servers.

  • New method `createEvent :data :completion` - Create event method with a callback/ completion mechanism to do follow up actions at the time BlueConic retrieved new data from the servers.

  • New method `updateProfile` - Update the profile instantly push/ sync all profile property data with the profile on the BlueConic tenant.

  • New method `updateProfile :completion` - Update the profile method with callback/ completion mechanism to do follow up actions at the time BlueConic retrieve new profile data from the servers.

  • New method `getInstance` - Retrieve an instance without sending a ViewController along, improvement on the method calls `getInstance(nil)'.

  • New methods for `InteractionContext` to call within your `BlueConicPlugin`:

    • `getInteractionTypeId` The ID of the interaction type.

    • `getPluginType` The type of the plugin.

  • Extra accessibility for other (UI) Frameworks - not using `ViewController`s

Fixed

  • The issue for `addRefusedObjective` not pushing refused objectives.

  • Running background tasks on the main thread.

2.7.0 - February 17, 2020

Changed

  • The deprecated `UIWebView` to `WKWebView`.

  • Support for custom/ timeline events with context `createEvent`- custom events are now sent to BlueConic servers and could be used to store these events on the timeline.

  • Clear the events on `BlueConicClient` level when a `PAGEVIEW` event is called.

  • Execute all published `Events` after the `onLoad` of all plugins is called, so none of the published `Event`s are missing for these calls.

  • Moved `BlueConicEventFactory` and `BlueConicEventManager` from `Plugin`-directory to `BlueConicClient`. This is now part of the `main`.

Added

  • New privacy legislation methods `getPrivacyLegislation` and `setPrivacyLegislation`.

  • New Objectives getter methods `getConsentedObjectives`, `getRefusedObjectives`.

  • New Objectives setters methods `setConsentedObjectives`, `setRefusedObjectives`.

  • New Objectives adders methods `addConsentedObjective`, `addRefusedObjective`.

  • New method `isEnabled` and `setEnabled` to enable or disable the BlueConicClient SDK programmatically.

  • New method `registerPluginClass` to register custom `BlueConicPlugin` classes, registering plugins.

  • New method `createEvent: withData` that supports a map `[String: Any]`

  • New methods for `InteractionContext` to call within your `BlueConicPlugin`:

    • `getName` The name of the interaction

    • `getPluginType` The type of the plugin

    • `getPositionName` The name of the (channels) position

    • `getDialogueId` The ID of the dialogue ( Only used for `Action`s )

    • `getDialogueName` The Name of the dialogue ( Only used for `Action`s )

Fixed

  • Handle all events between `PAGEVIEW` event and the plugins `onLoad` method correctly.

  • Don't store the invalid value (`00000000-0000-0000-0000-000000000000`) to profile property `Mobile Ad ID`.

  • Crashes around registering plugin classes. Issue `objc_getClassList` when the parameter is not a `MutablePointer`.

Removed

  • All `cleanup`-event calls in `Listeners` this is no longer required this is no managed by `BlueConicClient` instead by the `BlueConicPlugin`s individually.

Did this answer your question?