• Platforms
  • Partners
  • Forums
  • TLC Tealium Learning Center Tealium Learning
    Community
  • Discussions & Ideas Dicussions & Ideas
  • Product Guides Product Guides
  • Knowledge Base Knowledge Base
  • Developer Docs Developer Docs
  • Education Education
  • TLC Blog TLC Blog
  • Support Desk Support Desk
  • CDH Customer Data Hub Customer Data Hub

Table of Contents

  • Version 1.9.0 - 1.9.7 (2020)
  • Version 1.70 - 1.8.2 (2019)
  • Version 1.50 - 1.6.7 (2018)
  • Version 1.1.3-1.4.0 (2017)
  • Version 1.0.0-1.1.2 (2016)
IOS SWIFT V1

Release Notes

Release notes.

Below is a complete list of changes for each release of the Tealium for Swift library.

Version 1.9.0 - 1.9.7 (2020)

Version 1.9.7

Released: September 2020

Low Impact Changes

  • Moved a process within the Remote Commands Module to a background thread
  • Updated some of the concurrent queues to serial queues to prevent deadlocks

Version 1.9.6

Released: July 2020

Low Impact Changes

  • Fixed a bug causing crashes due to multiple threads trying to save to a persistent data store at the same time.
  • Fixed a bug causing crashes if the Tag Management module was included as a dependency, but not enabled via the Mobile Publish Settings in TiQ.

Version 1.9.5

Released: June 2020

Low Impact Changes

  • Fixed a bug that caused crashes if the Remote Publish Settings feature is enabled, and the remote file contained non-standard content. Unit tests added to prevent this bug reappearing in future releases.
  • Added unit tests to the public repo.
  • Removed legacy code comments referencing UIWebView.

Known Issues

  • For iOS versions 10.3.3 and 10.3.4, there is an Xcode compiler bug that may cause a crash as soon as the app is launched. This affects 32-bit iOS devices (iPhone 5C and below and iPad 4th gen and below). The workaround is to change the “Dead Code Stripping” build option to “NO”. This is located in Project Settings > (Your app target) > Build Settings > Linking > Dead Code Stripping. This workaround is only required if you are targeting the devices mentioned above.

Version 1.9.4

Released: April 2020

Low Impact Changes

  • Fixed an issue affecting Carthage builds where the PLCrashReporter dependency caused a build failure on some platforms
  • Fixed a bug where the remote commands module occasionally triggered commands multiple times if remote publish settings was enabled
  • Fixed an issue where SwiftUI previews would fail if the library was installed via Swift Package Manager for any platform other than iOS

Version 1.9.3

Released: March 2020

Low Impact Changes

No functional changes. Fixed an issue affecting Carthage builds for the macOS platform.

Version 1.9.2

Released: March 2020

Low Impact Changes

  • Fixed a bug in the DispatchQueue module, which resulted in a crash if the maximum queue size was set to -1
  • Updated PLCrashReporter dependency

Version 1.9.1

Released: February 2020

Low Impact Changes

This version did not change any functionality. The version number was bumped to 1.9.1 to fix an issue with the Carthage dependency manager. No other changes were made.

Version 1.9.0

Released: February 2020

New Features

  • Support for Mobile Publish Settings

    Mobile Publish Settings are enabled by default, and must be disabled if you don’t wish to use them.

    • Adds the ability to remotely change certain configuration options, such as event batch size, from the Tealium iQ Mobile Publish Settings interface.
    • This matches the functionality already present in Tealium iOS (Objective-C) and Tealium Android libraries. Learn more.
  • Swift Package Manager support. Learn more.

  • Swift 5 support

    • Support for older Swift versions has been removed. If you are unable to use Swift 5, then use Tealium Swift 1.8.2.
    • It is no longer required to bundle the Swift runtime with your app if you are using Swift 5+. This significantly reduces the size of your app bundle by approximately 40MB.
  • Mac Catalyst support

    • Supports iOS apps that are enabled to run on macOS Catalina (10.15+)
  • Lifecycle tracking methods are now available as part of the public API. Learn more.

  • Optional location tracking module. Learn more.

  • List of enabled modules now added to each track request. For example, enabled_modules=["attribution","tagmanagement"].

Low Impact Changes

  • Bug fix: Attempt to fix an un-reproducible bug in the Lifecycle module that occasionally causes crashes in low memory scenarios. 120
  • Lifecycle auto-tracking may now be disabled. This option suppresses automatically-generated app lifecycle events. Learn more
  • Removed dependency on Objective-C NSError for the Core module. Required for Swift Package Manager support. Also fixes implicit import of bridging header issue. 125
  • Optimized Tealium.update method. Modules are no longer deinitialized and reinitialized when the update method is called to change the TealiumConfig settings

High Impact Changes

  • Setters and getters on the TealiumConfig class have been deprecated in favor of properties. For example, config.setBatchingEnabled(true) -> config.batchingEnabled = true. Setters and getters continue to function as expected, but we recommend switching to properties to avoid compiler warnings.
  • Added “wifi only sending” option, which is controllable through Mobile Publish Settings. If enabled, hits are queued unless wifi is available.
  • Added “battery saver” option, which is controllable through Mobile Publish Settings. If enabled, hits are queued if low power mode is enabled, or if the device has less than 20% battery remaining

Known Issues

  • There is currently a WebKit bug, which results in spurious error messages in the LLDB console when you are debugging your app. The error is similar to the following example:

    2020-01-23 11:48:37.219410+0000 TestApp[853:82765] [Process] kill() returned unexpected error 1

This error appears if you are using the Tag Management module, until Apple fixes the issue in the WebKit library. Learn more.

Version 1.70 - 1.8.2 (2019)

Version 1.8.2

Released: December 2019

Low Impact Changes

  • Fixed thread-related Remote Commands crashes 121
  • Reduced stored lifecycle sessions to 20 sessions to resolve low-memory related crashes 120
  • Fixed some retain cycles that would in some cases prevent a total deinit of the Tealium class
  • Added a removeInstance method to the TealiumInstanceManager to allow total deinit of Tealium
  • Added config option to not use the cookie observer for WKWebView 117 (config.shouldAddCookieObserver = false)
  • Optimized module initialization so that init is only called on modules that are present in the modules list.
  • Fixed an issue where the Tag Management completion did not receive expected details (errors/info). Related to: 118

Version 1.8.1

Released: November 2019

Low Impact Changes

  • Fixed a bug that caused an occasional crash in the Tag Management module

Version 1.8.0

Released: November 2019

New Features

  • Event batching
    • Send up to 10 events in a single hit to the Tealium Customer Data Hub
      • For Tag Management, events are dispatched to the WKWebView instance in a batch and are processed individually by JavaScript tags in your profile.
      • For Tealium EventStream/AudienceStream/Event Data Framework products, events are dispatched in a single HTTP request when using the Collect module. Requests are Gzipped. Once the event limit is reached (max 10 events), they are dispatched immediately, if a connection is available.
    • To disable event batching, set the batch size to 1
  • Optional Visitor Service module (requires AudienceStream CDP). Retrieve visitor profiles in real-time as soon as the profile changes.
  • New variable "device_type" that captures the internal device identifier, for example iPhone8,4.
  • Additional header docs for Visitor Service and Event Batching (DispatchQueue module).
  • Added ability to override both the URL and profile for the Visitor Service module
  • Fixed a possible crash on iOS 12.0 devices in the DeviceData module, which was due to a known bug in the iOS 12.0 network subscriber information API. Bumped version check to iOS 12.1 where the bug was fixed, and fall back to older API for iOS 12.0
  • Added some additional hints for the compiler inside complex closures to allow the project to be built on Xcode 10.3.
  • Added remote_api call for future Remote Command compatibility. This triggers an additional call to the Tag Management webview (if module enabled). Disabled by default. Config option to enable: config.setIsRemoteAPIEnbled(true)
  • Added method to retrieve visitor ID

High Impact Changes

  • Persistent Storage has now moved from UserDefaults to JSON-based file storage. Data is stored by default in the caches directory on the device, but this is overridable through config.
  • Where possible, all processing is now performed on a background queue. If you are using the Tag Management module, a limited amount of processing is performed on the main thread, as this is a requirement for WKWebView.
  • The following modules have been removed:
    • FileStorage (superseded by DiskStorage, which is part of Core)
    • DefaultsStorage (superseded by DiskStorage, which is part of Core)
    • DataSource (incorporated into VolatileData module)
  • Tag Management Optimizations (Webview)
  • UIWebView has been removed. Default is now WKWebView (only if using the Tag Management module). Due to bugs in the WKWebView API for iOS versions <11, cookies may not be persisted on these devices when upgrading to 1.8.0 from earlier tealium-swift versions.
  • vdata dispatcher removed. All Collect module requests are now sent as POST requests to the /event endpoint, or /bulk-event in the case of batched requests
  • Connectivity checks improved.
  • Connectivity crash fixed (TealiumRepeatingTimer deinit)
  • Updated project to work with Xcode11
  • Crash reporter dependency fixed (currently using a binary build of PLCrashReporter until a fix is available)

Low Impact Changes

  • Attribution module updated to include additional data points provided by the Apple Search Ads API
  • DeviceData module device names updated to include latest Apple devices
  • Logging improvements
  • Swiftdoc improvements; all public methods now have quick help available in Xcode

Version 1.7.3

Released: November 2019

Low Impact Changes * Fix for PLCrashReporter dependency with Xcode 11. Now uses a pre-built framework instead of building from source.

Version 1.7.2

Released: August 2019

Low Impact Changes * Minor internal change to support unit testing for Remote Commands.

Version 1.7.1

Released: July 2019

High Impact Changes

  • UIView auto-detection logic for WKWebView has been improved, which accounts for most cases with complex view hierarchies, without the need to manually pass a UIView instance in the webview config. Validation in your own app is essential; verify that you see tracking calls leaving your app in a variety of different screens in your app, including any views that may be launched from push notifications, where the view hierarchy may have changed.

Version 1.7.0

Released: May 2019

High Impact Changes

  • TagManagement Module now uses WKWebView instead of UIWebView by default. Read tag management documentation carefully before upgrading.
  • Consent Manager: If consent logging is enabled, a "decline_consent" event is sent for auditing purposes (GDPR compliance).

Low Impact Changes

  • Bug Fix: In remote commands, fixed an issue where callbacks to the web view were not executed.
  • Sample apps updated to be compatible with Xcode 10.2.
  • New feature: Trace. Provides an easy method to join and leave an AudienceStream trace session, including terminating an active visitor session.
  • New sample app showing how to use TagManagement with complex view hierarchies.
  • Data layer variable standardization (see Data Layer for full list).

Version 1.50 - 1.6.7 (2018)

Version 1.6.7 (December 2018)

  • Reintroduced init completion with module responses. Tealium is guaranteed to be initialized, along with all modules, when the completion block is called.
  • Completion is only called once.
  • Subsequent reloads of the TagManagement webview (if enabled) no longer causes remote commands to be re-enabled.
  • VolatileData getData() method with no arguments has been reintroduced.

Version 1.6.6 (December 2018)

Low Impact Changes

  • Fix to enable usage of DeviceData module in app extensions (extension-safe access to UIApplication.shared).

Version 1.6.5 (November 2018)

High Impact Changes

  • Full modularization of library components; import only the modules you require.
  • CocoaPods module import changed from tealium_swift to TealiumSwift.
  • Minimum supported Swift version is now 4.0 due to Swift 3.X deprecation in Xcode 10. 1.6.4 is the last version supporting Swift versions <4.0. Use this if you require support for Swift 3.2.
  • Core: Module responses removed from completion closure for simplicity
  • TealiumConfig: TealiumModulesList is no longer required if you are only importing the specific modules you require. It continues to function as expected if present.
  • TagManagement Module: With iOS 12, a memory leak has been introduced into the UIWebView API. This is out of Tealium’s control and has been logged with Apple. Rest assured, this is a small leak, and does not impact your app in any significant way, but it shows up when profiling your app with the “Leaks” instrument. The leak disappears with a future iOS update, once Apple has fixed the issue. Learn more. If you do not need the tag management feature, you may remove the TagManagement module from your build to not experience this leak.
  • Remote Commands: Add remote commands via the TealiumConfig instance, rather than the public API method exposed on the Tealium instance. Learn more about the RemoteCommands module.

Low Impact Changes

  • Core: Improved library startup time.
  • CrashReporter Module: Reintroduced the Crash Reporter module following Xcode 10 fixes.
  • VolatileData Module: Fixed bug causing timestamps from queued hits to be overwritten.
  • VolatileData Module: Added event_timestamp_unix, which is a second-precise 1970-epoch timestamp.
  • TagManagement Module: Nested objects now supported.
  • TagManagement Module: Memory leak fixes.
  • RemoteCommands Module: Fixed a bug causing the Remote HTTP command to occasionally not be called when invoked.
  • PersistentData Module: Bug fix for potential memory leak.
  • Lifecycle Module: Fixed a bug that occasionally caused crash data to persist across more than 1 event, potentially causing inflated crash metrics in analytics reports. Crashes are now only sent on “launch”.
  • DeviceData Module: network_connection_type now moved to Connectivity module to remove unnecessary dependency.
  • DeviceData Module: Add app_orientation and app_orientation_extended to indicate the orientation of the app, as well as existing device_orientation and device_orientation_extended.
  • Delegate Module: Tealium completion handler moved to TealiumCore framework.
  • Connectivity Module: Set a default time to flush the queue of 30 seconds while the device is known to be offline.
  • Connectivity Module: Added protection around timer code for connectivity check.
  • Attribution Module: Removed unnecessary code for Swift versions <4.0 (no longer supported due to Xcode deprecation of Swift 3).

Version 1.6.4 (October 2018)

Low Impact Changes

  • Minor fix to make TealiumRemoteCommand class accessible when using CocoaPods/Carthage (access level changed from public to open).

Version 1.6.3 (October 2018)

Low Impact Changes

  • Fix for LogLevel not being respected in newer Xcode/Swift versions.
  • Fix for Connectivity module reporting incorrect connection type on cellular data connection.

Version 1.6.2 (September 2018)

High Impact Changes

  • Crash Reporter temporarily removed from build due to issues with Xcode 10 beta.

Low Impact Changes

  • Removed “always embed swift binaries” from targets.

Version 1.6.1 (September 2018)

High Impact Changes

  • Fix for session ID; Tealium Session ID set to expire after 30 minutes. This value is configurable.

Version 1.6.0 (July 2018)

  • High Impact Changes
    • Initial release of Consent Manager module. This is enabled by default. If you do not require consent management, you must actively disable it, or tracking calls are not sent.
  • Low Impact Changes
    • Fixed a crash relating to older 32 bit devices due to a large integer timestamp (changed from Int to Int64).
    • Added Dispatch Queue module to allow data collected offline to be persisted when the app is terminated.

Version 1.5.0 (April 2018)

  • First release of Tealium Crash Reporter. 
  • Minor bug fixes.

Version 1.1.3-1.4.0 (2017)

Version 1.4.0 (December 2017)

  • High impact changes: these are changes to previous behavior or variable names/values. Before upgrading the library, be sure to check your account setup to ensure you are not relying on the previous behavior to trigger tags/actions. Also see List of Variables for a JavaScript extension to maintain backward compatibility between releases.

    • Removed deprecated track method with TealiumTrackType. Now calls trackView or trackEvent methods instead to differentiate between track call types.
    • tealium_event_type has been removed from all outgoing track calls, as it is now derived in Customer Data Hub Event Specs and does not need to be sent
    • Lifecycle module changed to use same NSNotifications as Objective-C library (UIApplicationDidBecomeActive and UIApplicationWillResignActive). This ensures lifecycle events are captured as quickly as possible.
    • device_orientation has been changed to simply Portrait or Landscape (same as Objective-C library), and a new variable device_orientation_full has been introduced to capture the z-axis orientation such as face up or face down.
    • device_build variable changed to device_os_build to be more descriptive. device_build is no longer sent. Mappings need to be updated if you were previously using this variable.
    • Attribution module: device_advertising_id has been changed from Identifier for Vendor (IDFV) to Identifier for Advertisers (IDFA). A new variable device_advertising_vendor_id has been added, which contains the IDFV.
  • Low impact changes/general updates and improvements

    • Updated all modules to support Swift 4.0. Only minor changes required.
    • Major documentation overhaul; documents now included for all modules, with more code samples.
    • README.md changed to point to Learning Community for all documents.
    • More unit tests added for all modules.
    • New schemes added to Framework project to allow device-based testing.
    • Modified sample Tealium helper file to allow usage with Objective-C apps, and align with best practice.
    • Fixed RemoteCommands example in sample TealiumHelper file.
    • Attribution module: Added support for Apple Search Ads API. If this module is used, Tealium collects attribution information from the Apple Search Ads API.
    • Collect module: Added config method to override collect URL.
    • Connectivity module: Improved logging when device connection changes. Added helpers to get the current connection type.
    • Core: Added call_type variable to view calls.
    • Added screen_title to view calls, which is set to the "title" parameter passed into the trackView call. For track calls, tealium_event is set to the string value that is passed in as the first parameter.
    • FileStorage module: Fixed bug that caused data not to be persisted to disk due to permissions error.
    • Lifecycle Persistent Data: Changed implementation of NSKeyedUnarchiver to support Swift 4.0, and add additional error checking.
    • Logger module: Improved logging for Persistent Data.
    • RemoteCommands module: Removed deprecated enable/disable methods.
    • TagManagement: Minor updates for Swift 4.0 compatibility.
    • VolatileData: Added new public method to remove all volatile data.
    • DeviceData module:
      • Added OS Name.
      • Added OS version.
      • Added Device Screen Resolution.
      • Added Network (carrier) info (MNC, MCC, ISO code).
      • Added current connection type.
      • Added charging state information.
      • Fixed bug that caused battery to show as -100.
      • Added granular device model. For example, iPhone 7 (GSM).
      • “device_build” variable changed to "device_os_build" to be more descriptive. "device_build" is no longer sent. Mappings need to be updated if you were previously using this variable.
      • "device_orientation" has been changed to simply Portrait or Landscape (same as Objective-C library), and a new variable "device_orientation_extended" has been introduced to capture the z-axis orientation such as face up, or face down.
      • Support added for WatchKit device data (limited data available).

Version 1.3.3 (October 2017)

  • Fixed a bug which caused unit tests to crash in some circumstances
  • Optimized module detection to remove need to iterate through all loaded classes in app

Version 1.3.2 (August 2017)

  • Builder project update - Carthage support fix
  • Access control updates:
    • Tealium (build 4)
    • TealiumAutotracking (build 4)
    • TealiumDatasource (build 3)
    • TealiumDelegate (build 4)
    • TealiumModules (build 2)
    • TealiumMulticastDelegate (build 3)
    • TealiumRemoteCommands (build 3)
    • TealiumTagManagement (build 3)
  • Tealium (build 4) added new function:
    • trackView(title:data:completion)
  • Autotracking Module (build 4) instance level custom data access & editing functions added.
  • Async Module removed. All internal dispatch queue routing removed.
  • Collect Module (build 4). TrackRequest .wasSent suppression check removed. New didFinish & didFailToFinish with info functions added.
  • Core Config (build 3) added ability to assign and retrieve target queue for lib to use.
  • Core Constants (build 3). TrackRequest .wasSent property removed. ModuleResponse .info property added. .info property removed from track related functions in modules:
    • AppData
    • Attribution
    • Autotracking
    • Connectivity
    • Datasource
    • Delegate
    • Lifecycle
    • PersistentData
    • VolatileData
  • Core ModulesManager (build 4) updated to report track failures due to library enable fail.
  • DeviceData Module added (build 1) for iOS builds. Adds following data stream values for keys: - device_architecture - device_battery_percent - device_build - device_cputype - device_ischarging - device_language - device_model - device_orientation - device_os_version
  • Lifecycle (build 3). Initial launch call detection fix. Unarchive fix to handle lifecycle data from different app builds.
  • Logger (build 3) Updated to log new track data in moduleResponse instead of request info. Logs failed save and load requests. Default log level changed from .verbose to .errors.
  • RemoteCommands Module (build 3) removed per command queue assignment with library wide queue setting.
  • TagManagement Module (build 3) updates: - Removed webview isLoading check. - Auto set call type to value of data stream key: "call_type". - TrackRequest .wasSent suppression check removed. - Added new internal didFinish & didFailToFinish with info functions added. - Update to dictionary sanitization function to permit [String] array values.
  • VolatileData Module (build 3) refactored to accept new data additions immediately after launch.

Version 1.3.1 (July 2017)

  • Builder (used by Carthage) updated to include previously missing TealiumMulticastDelegate & TealiumLifecyclePersistentData classes in build target.
  • AppData Module (build 3) fix for app_version & added new key-value:
    • app_build (application build number)
  • Async Module (build 4) added os x version check for dispatch queue assignment.
  • Delegate Module (build 3) removed unused code.

Version 1.3.0 (July 2017)

  • All modules updated to make use of simplified modules base class + new internal TealiumRequest structs that replaces the TealiumProcess & TealiumTrack structs
  • Most module related files have been aggregated into single module class files for faster reference & future removal of the module subfolders.
  • Added Connectivity module (build 1). Queues track calls if connectivity not available. Resends in FIFO order when connectivity again available when another track occurs. Adds following auto variable:
    • was_queued (true if call was queued)
  • Added DataStorage module (build 1) that replaces the persistent data module’s internal functions. Primarily for tvOS.
  • Added FileStorage module (build 1) that replaces the persistent data modules internal functions. For all other target platforms.
  • Added TealiumModulesList is assigned to TealiumConfig to explicit enable or disable modules. Struct has following properties:
    • isWhitelist: Bool
    • modulesName: Set<String>
  • Added additional core internal classes:
    • TealiumModules
    • TealiumMulticastDelegate
    • TealiumRequestArray
  • Updated Core Tealium (build 3) with track type call marked deprecated in favor of simpler track method. Updated to use internal TealiumTrackRequest over TealiumTrack. Added new APIs to update library instance with newer configuration:
    • update(config: TealiumConfig)
  • Updated Core TealiumConfig (build 2) convenience constructor added. 1.0.1 Deprecated legacy methods removed.
  • Updated Core Constants (build 2) replaced internal track & process struct with new request protocol and request types.
  • Updated Core TealiumModule base class (build 3) to support new request structs.Made equatable & hashtable. ModuleConfig made a class level func for better init performance. Simplified process completion methods. Removed an internal protocol requirement.
  • Updated Core TealiumModuleManager (build 3) to support updated request structs.
  • Updated Core TealiumUtils (build 2) updated multicast delegate to take explicit delegate type at init time.
  • Updated AppData module (build 2) to support new persistence related requests & to provide required new data in event no persistent modules enabled. Remaining app data key-value pairs added:
    • app_name
    • app_rdns
    • app_version
  • Updated Attribution module (build 3) to use new internal request structs.
  • Updated Autotracking module (build 3) to use new internal request structs.
  • Updated Async module (build 3) removed Tealium extensions for completion callbacks.
  • Updated Collect module (build 3) to use new internal request structs. Files aggregated into a single TealiumCollectModule.swift file.
  • Updated DataSource module (build 2) to use new internal request structs.
  • Updated Delegate module (build 2) to store multicast delegate in config instead of within module. Prepares it for further delegate options moving forward.
  • Updated Lifecycle module (build 2) to use new internal request structs. Most files aggregated into TealiumLifecycleModule.swift file. Guard statements added in place of explicit optional unwraps.
  • Updated Logger module (build 2) Extension to set log levels via TealiumConfig re-enabled. Logs success or failures of save, load, & track requests + use new internal request structs. LogLevel renamed TealiumLogLevel to avoid namespace collisions for manually imported implementations.
  • Updated PersistentData module (build 2) to use new internal structs.
  • Updated RemoteCommands module (build 2) to use new internal structs. Files aggregated into a single TealiumRemoteCommandsModule.swift file.
  • Updated TagManagement module (build 2) to use new internal structs. Files aggregated into a single TealiumTagManagementModule.swift file.
  • Updated VolatileData module (build 2) to use new internal structs.

Version 1.2.0 (April 2017)

  • Added Datasource module (build 1), which makes available:
    • tealium_datasource
  • Added RemoteCommands module (build 1).
  • Added TagManagement module (build 1).
  • Added TealiumUtils to core module.
  • Refactored TealiumDelegateModule (build 2) to use generic multicast delegate.
  • Refactored TealiumModuleManager (build 3) removed track pre-processing and added a defer block protection within the getClassList() method.
  • Updated Tealium.swift (build 2) added class function to do track pre-processing.
  • Updated Lifecycle module (build 2) to properly return tealium_event & tealium_event_type with auto triggered lifecycle calls.

Version 1.1.3 (January 2017)

  • Added Lifecycle module (build 1). Adds the following auto variables:
    • lifecycle_diddetectcrash
    • lifecycle_dayofweek_local
    • lifecycle_dayssincelaunch
    • lifecycle_dayssinceupdate
    • lifecycle_dayssincelastwake
    • lifecycle_firstlaunchdate
    • lifecycle_firstlaunchdate_MMDDYYYY
    • lifecycle_hourofday_local
    • lifecycle_isfirstlaunch
    • lifecycle_isfirstlaunchupdate
    • lifecycle_isfirstwakemonth
    • lifecycle_isfirstwaketoday
    • lifecycle_lastlaunchdate
    • lifecycle_lastsleepdate
    • lifecycle_lastwakedate
    • lifecycle_lastupdatedate
    • lifecycle_launchcount
    • lifecycle_priorsecondsawake
    • lifecycle_secondsawake
    • lifecycle_sleepcount
    • lifecycle_type
    • lifecycle_totalcrashcount
    • lifecycle_totallaunchcount
    • lifecycle_totalwakecount
    • lifecycle_totalsleepcount
    • lifecycle_totalsecondsawake
    • lifecycle_updatelaunchdate
    • lifecycle_wakecount
  • Added Delegate module (build 1).
  • Fixed Collect module (build 3) to correctly report problematic sends.
  • Updated Attribution module (build 2) with minor refactor.
  • Updated Autotracking module (build 2) by deprecating autotrackingDelegate protocols - use the Delegate module instead.
  • Updated Logger module (build 3) with cleaner error output.
  • Updated Module base (build 2) with a isEnabled property.
  • Updated ModuleManager (build 2) with an internal allModulesEnabled() function.

Version 1.0.0-1.1.2 (2016)

Version 1.1.2

  • Optional Autotracking module (build 1) added. Additional variables with module: - autotracked : true/false
  • Async module updated (build 2). Adds the following convenience method:
    • init(config: TealiumConfig, completion:((_)->Void))
  • Logger module updated (build 2). Reporting chain fix.
  • Collect module updated (build 2): didFinish pushes updated track data fix.

Version 1.1.1 (December 2016)

  • Async module added
  • [String:AnyObject] dictionary usage replaced with more convenient [String:Any]
  • iOS Sample app updated.
  • macOS Sample app updated.
  • tvOS Sample app updated.
  • watchOS Sample app updated.

Version 1.1.0 (October 2016)

  • New track with type API added.
  • New auto Tealium variable added:
    • app_uuid
    • tealium_event_type
  • Drag & Drop Module Architecture implemented.
  • iOS Sample app added.
  • macOS Sample app added.
  • tvOS Sample app added.
  • watchOS Sample app added.
  • Additional Tests added.

Version 1.0.1 Swift 3 Syntax Update (September 2016)

  • Support for Swift 3.0.

Version 1.0.0 Initial Release (September 2016)

  • 2.x Swift support. In XCode 8, safely update to syntax 2.3 (no code changes are suggested and is usable in a 3.x app)
  • Tealium universal data sources added for all dispatches:
    • event_name (transitionary - deprecated soon)
    • tealium_account
    • tealium_environment
    • tealium_event
    • tealium_library_name
    • tealium_library_version
    • tealium_profile
    • tealium_random
    • tealium_session_id
    • tealium_timestamp_epoch
    • tealium_visitor_id
    • tealium_vid (legacy support - deprecated soon)
Working with Objective-C

 
  • Mobile
  • Getting Started
    • Overview
    • Quick Start Guide
    • Mobile Concepts
    • Client-Side
    • Server-Side
    • Tracking Webviews
    • Data Layer
    • Consent Management
    • Event Batching
    • User Location and Geofencing
    • Deep Links
    • Timed Events
    • Trace
    • Hosted Data Layer
    • Feature Comparison
    • Troubleshooting
  • Remote Commands
    • Overview
    • How It Works
    • Integrations
      • AppsFlyer
      • Braze
      • Contentsquare
      • Facebook
      • Firebase
      • Kochava
      • Usabilla
  • Android (Java)
    • Overview
    • Install
    • Track
    • Data Layer
    • Data Management
    • Consent Management
    • Module List
      • Ad Identifier Module
      • Crash Reporter Module
      • Install Referrer Module
      • Lifecycle Tracking Module
      • Location Module
      • Optimizely X Tracking Module
    • Android TV
    • Android Wear
    • API Reference
      • ConsentManager
      • DataSources
      • Lifecycle
      • Tealium
      • Tealium.Config
      • TealiumLocation
    • Release Notes
  • Android (Kotlin)
    • Overview
    • Install
    • Track
    • Data Layer
    • Consent Management
    • Identity Resolution
    • Module List
      • Ad Identifier Module
      • Collect Module
      • Collectors Module
      • Crash Reporter Module
      • Install Referrer Module
      • Lifecycle Tracking Module
      • Location Manager Module
      • RemoteCommands Module
      • Tag Management Dispatcher Module
      • Visitor Service Module
    • Android TV
    • API Reference
      • ConsentCategory
      • ConsentManager
      • CurrentVisit
      • DataLayer
      • Lifecycle
      • LocationManager
      • Tealium
      • TealiumConfig
      • VisitorProfile
      • VisitorService
    • Release Notes
  • Cordova
    • Overview
    • Install
    • Track
    • Data Management
    • Module List
      • Ad Identifier Module
      • Crash Reporter Module
      • Install Referrer Module
    • API Reference
    • Release Notes
  • Flutter
    • Overview
    • Install
    • Track
    • Consent Management
    • Data Management
    • API Reference
    • Release Notes
  • iOS (Objective-C)
    • Overview
    • Install
    • Track
    • Data Layer
    • Data Management
    • Consent Management
    • Tag Management
    • Module List
      • Lifecycle Tracking Module
    • tvOS
    • watchOS
    • API Reference
    • Release Notes
  • iOS (Swift) 1.x
    • Overview
    • Install
    • Track
    • Data Layer
    • Data Management
    • App Extensions
    • Identity Resolution
    • Consent Management
    • Modules
    • Module List
      • AppData Module
      • Attribution Module
      • AutoTracking Module
      • Collect Module
      • Connectivity Module
      • CrashReporter Module
      • DataSource Module
      • DefaultStorage Module
      • Delegate Module
      • DeviceData Module
      • DispatchQueue Module
      • FileStorage Module
      • Lifecycle Module
      • Location Module
      • Logger Module
      • PersistentData Module
      • RemoteCommands Module
      • TagManagement Module
      • VisitorService Module
      • VolatileData Module
    • Feature Comparison
    • Working with Objective-C
    • API Reference
      • TealiumConfig
      • TealiumConsentCategories
      • TealiumConsentManagerDelegate
      • TealiumConsentManager
      • TealiumInstanceManager
      • TealiumPersistentData
      • TealiumVolatileData
      • Tealium
    • Release Notes
  • iOS (Swift) 2.x
    • Overview
    • Install
    • Track
    • Data Layer
    • Consent Management
    • App Extensions
    • Identity Resolution
    • Modules
    • Module List
      • AppData Module
      • Attribution Module
      • AutoTracking Module
      • Collect Module
      • Connectivity Module
      • CrashReporter Module
      • DeviceData Module
      • Lifecycle Module
      • Location Module
      • RemoteCommands Module
      • TagManagement Module
      • VisitorService Module
    • Working with Objective-C
    • API Reference
      • Tealium
      • TealiumConfig
      • TealiumConsentCategories
      • TealiumConsentManager
      • TealiumDataLayer
      • TealiumInstanceManager
    • Release Notes
  • NativeScript
    • Overview
    • Install
    • Track
    • API Reference
      • Tealium
      • TealiumConfig
    • Release Notes
  • React Native 1.x
    • Overview
    • Install
    • Track
    • API Reference
    • Release Notes
  • React Native 2.x
    • Overview
    • Install
    • Track
    • API Reference
    • Release Notes
  • Unity
    • Overview
    • Install
    • Track
    • API Referencee
  • Xamarin
    • Overview
    • Install
    • Track
    • Data Management
    • Consent Management
    • API Reference
    • Release Notes
  • Web
  • Getting Started
    • Overview
    • Quick Start Guide
    • Web Concepts
  • Adobe Launch
    • Overview
    • Install
    • Data Layer
  • AMP
    • Install
    • Track
    • Data Layer
    • Overview
  • Angular
    • Install
    • Track
    • API Reference
    • Overview
  • Google Tag Manager
    • Overview
    • Data Layer
    • Install
  • JavaScript (Web)
    • Install
    • Track
    • Data Layer
    • Overview
    • Universal Data Object (utag_data)
    • Universal Tag (utag.js)
    • Data Layer Object (b)
    • Single-Page Applications
    • Settings
    • Debugging
    • API Reference
      • Cookie Functions
      • GDPR Functions
      • Tracking Functions
      • Utility Functions
    • Release Notes
  • Server
  • C#
    • Overview
    • Install
    • Track
    • Data Layer
    • API Reference
    • Release Notes
  • HTTP API
    • Overview
    • Endpoint
    • Data Layer
  • Java
    • Overview
    • Install
    • Track
    • API Reference
    • Release Notes
  • Node
    • Overview
    • Install
    • Track
    • API Reference
  • Python
    • Overview
    • Install
    • Track
    • API Reference
  • Roku
    • Overview
    • Install
    • Track
    • API Reference
  • Ruby
    • Overview
    • Install
    • Track
    • API Reference

Was this article helpful?

This page was last updated: October 15, 2020       Thank you for your feedback!
  • Platforms
  • Partners
  • Forums
  • Mobile
  • Getting Started
  • Remote Commands
  • Android (Java)
  • Android (Kotlin)
  • Cordova
  • Flutter
  • iOS (Objective-C)
  • iOS (Swift) 1.x
  • iOS (Swift) 2.x
  • NativeScript
  • React Native 1.x
  • React Native 2.x
  • Unity
  • Xamarin
  • Web
  • Getting Started
  • Adobe Launch
  • AMP
  • Angular
  • Google Tag Manager
  • JavaScript (Web)
  • Server
  • C#
  • HTTP API
  • Java
  • Node
  • Python
  • Roku
  • Ruby