• 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

  • Requirements
  • Samples Apps
  • Install
    • CocoaPods
    • Carthage
    • Manual
  • Initialize
  • Submit to the App Store
IOS OBJECTIVE C

Install

Learn to install the Tealium SDK for iOS (Objective-C).

Requirements

  • Xcode 7.0+
  • iOS 8.1+
  • Tealium iQ Mobile Profile
  • Tealium Customer Data Hub account

Samples Apps

To help familiarize yourself with the Tealium library, tracking methods, and best practice implementation, explore the Tealium for iOS sample apps.

To abstract the Tealium implementation from the rest of your app, we recommend the use of a TealiumHelper class. This gives you a single entry point from which to initialize and make tracking calls. It also allows you to update the code in your helper file, and not in every single ViewController or header/method file.

  • TealiumHelper for Objective-C
  • TealiumHelper for Swift

See the TealiumIOS API for a complete listing of Tealium classes and methods for iOS.

Install

Install the Tealium SDK for iOS (Objective-C) with CocoaPods, Carthage, or manually.

CocoaPods

To install Tealium for iOS (Objective-C) for your app with CocoaPods (recommended):

  1. Add the following dependency to your Podfile:

    pod "TealiumIOS"
  2. Save the file and run the following in your project directory:

    pod install
  3. Use the created .xcworkspace file to continue building your app. If you do not use the .xcworkspace file, you are not able to build the app correctly.

Carthage

To install Tealium for iOS (Objective-C) for your app with Carthage:

  1. Add the following to your Cartfile:

    binary "https://tags.tiqcdn.com/dle/tealiummobile/tealium-ios-carthage/tealium-carthage.json"
  2. To download and extract the frameworks, run the following command:

    carthage update --platform ios
  3. For the required frameworks to be copied automatically at build-time, verify sure that Carthage is properly integrated into your Xcode project. 

  4. Strip simulator support, as necessary, before submitting to the App Store. This step is avoidable if using the “DeviceOnly” builds provided on the GitHub repo, which are also downloaded when using Carthage.

Manual

To install Tealium for iOS (Objective-C) for your app manually:

  1. Add TealiumIOS.framework to your project.

  2. Copy framework to project in the resulting dialog box.

  3. In the Target go to General > Embedded Binaries and add TealiumIOS.framework.

    For Swift projects go to the Build Settings > Swift Compiler > Objective-C Bridging Header option and include the file TealiumIOSBridgingHeader.h.

Initialize

In the Application Delegate or within a helper class setup method use the following initialization code:  

    // set your account, profile, and environment
    let tealConfig = TEALConfiguration.init(account: "ACCOUNT",
                                            profile: "PROFILE",
                                        environment: "ENVIRONMENT",
                                         datasource: "DATASOURCE")
    
    // Initialize with a unique key for this instance
    guard let tealium = Tealium.newInstanceForKey("INSTANCE", configuration: tealConfig) else {
         // Any additional failure response here           
         return
    }
    // import area
    @import TealiumIOS;
    
    // Set your account, profile, and environment
    TEALConfiguration *tealConfig = [TEALConfiguration configurationWithAccount:@"ACCOUNT"
                              profile:@"PROFILE"
                              environment:@"ENVIRONMENT"
                              datasource:@"DATASOURCE"];
    
    // Initialize with a unique key for this instance
    Tealium *tealium = [Tealium newInstanceForKey:@"INSTANCE" configuration:tealConfig]; 

    The log level is set by default from the publish settings from your iQ account. To override this setting set the logLevel property in the TEALConfiguration instance:

      // Set the log verbosity to errors only
      tealConfig.logLevel = .prod
      // Set the log verbosity to maximum
      [tealConfig setLogLevel: TEALLogLevelDev];

      The Tealium instance must be configured with the following parameters before it begins tracking:

      Parameters Type Description Example
      account String Tealium account name "companyXYZ"
      profile String Tealium profile name "main" 
      environment String Tealium environment name ["dev", "qa", "prod"]
      datasource String (Optional) data source key "abc123"
      instance String Unique name for your instance (multiple instances are supported) "tealium_main"

      Submit to the App Store

      The mobile library contains slices that run in the simulator and on devices. Unfortunately, the simulator architecture is not allowed by Apple when submitting to the App Store.

      When creating your archive be sure to run one of the following two scripts to strip out the simulator:

      • Daniel Kennett’s Strip Framework Script
      • Realm strip-frameworks.sh

      Or use the Devices Only Builds that do not contain simulator slices.

      Track

       
      • 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: August 12, 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