Our Swift library is fully compatible with apps running pure Swift, Objective-C, or any combination of the two. Since it is the newest and most up-to-date library, we strongly recommend implementing the Swift library if possible. The Objective-C library is still fully supported, but the Swift library will generally be updated faster and have the newest features. Additionally, Swift has the widest compatibility of all Tealium libraries, including support for server-side Swift environments.
Check the comparison table below to figure out which is most suitable for your needs.
Memory Footprint & Performance
All SDKs will have some performance and memory impact on your app. This will vary between apps, and it can be difficult to measure the exact footprint of a specific SDK.
We have measured the Tealium Swift SDK against a baseline of a standard blank iOS Single View app. These figures may vary for your specific implementation, so they only serve as a rough indicator. All figures obtained using XCode Allocations Instrument.
Compiled App Archive (.ipa file)
+ 3MB (includes all modules)
Runtime Memory Usage
+2 - +2.5MB (Collect module and supporting modules)
Approximate time from initialization to completion callback firing
≈ 0.05 seconds
4.0 and above (Xcode 9.0+)
Tealium iQ Tag Management
tealium-swift vs. tealium-ios
The Swift library was built from scratch on a completely new codebase to the Objective-C library (https://github.com/Tealium/tealium-ios), and there are some subtle differences between the two libraries in terms of the current feature set. Below, we have compared the different features of both libraries. If you have requests for new features, feel free to open an issue on our GitHub page, or contact your account manager.
X - Present, / - Not Available, P - Partial Support (see notes)
Enables support for multiple Tealium instances (profiles) running in the same app.
May be added to Swift in a future release. Not a widely-used feature of the Objective-C library. Most customers do not need this feature.
Automatically tracks UIViews and Events
Present in Swift, but will not be added to Objective-C
Tracks App lifecycle events.
Allows use of Tealium iQ through a non-rendered web view
Sends data to Tealium’s UDH using a native HTTPS request
Automatically queues events if the device is online, and transmits when the device is online again
In the iOS (Objective-C) library, queued events were persisted across app launches. This feature will be added to Swift in the next release. Current functionality is that any queued data is lost when the app is closed (swiped away) by the user.
Remote Mobile Publish Settings (MPS)
Allows remote configuration of certain library settings
Planned support in a future release. Current method of configuration is by the TealiumConfig object only, and must be set at compile time.
Stores data for the current session (until app is terminated)
Stores data between app launches
Allows triggering of specified native code blocks from Tealium iQ
Apple Search Ads Support
Adds support for the Apple Search Ads API to collect attribution data automatically