• 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
  • 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
    • Media Tracking
    • Deep Links
    • Timed Events
    • Trace
    • Hosted Data Layer
    • Adobe Visitor Service Module
    • Feature Comparison
    • Troubleshooting
  • Remote Commands
    • Overview
    • How It Works
    • Integrations
      • Adjust
      • AppsFlyer
      • Branch
      • 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
      • AutoTracking Module
      • AdobeVisitorService Module
      • Collect Module
      • Collectors Module
      • Crash Reporter Module
      • In-App Purchase Module
      • Install Referrer Module
      • Lifecycle Tracking Module
      • Location Manager Module
      • Media Module
      • RemoteCommands Module
      • Tag Management Dispatcher Module
      • Visitor Service Module
    • Android TV
    • API Reference
      • ConsentCategory
      • ConsentManager
      • CurrentVisit
      • DataLayer
      • Lifecycle
      • LocationManager
      • Media
      • Tealium
      • TealiumConfig
      • VisitorProfile
      • VisitorService
    • Release Notes
  • Cordova 1.x
    • Overview
    • Install
    • Track
    • Data Management
    • Module List
      • Ad Identifier Module
      • Crash Reporter Module
      • Install Referrer Module
    • API Reference
    • Release Notes
  • Cordova 2.x
    • Overview
    • Install
    • Track
    • API Reference
    • Release Notes
  • Flutter 1.x
    • Overview
    • Install
    • Track
    • Consent Management
    • Data Management
    • API Reference
    • Release Notes
  • Flutter 2.x
    • Overview
    • Install
    • Track
    • Consent Management
    • Data Management
    • API Reference
      • Tealium
      • TealiumConfig
      • VisitorProfile
    • 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
      • AdobeVisitorService Module
      • Attribution Module
      • AutoTracking Module
      • Collect Module
      • Connectivity Module
      • CrashReporter Module
      • DeviceData Module
      • In-App Purchase Module
      • Lifecycle Module
      • Location Module
      • Media Module
      • RemoteCommands Module
      • TagManagement Module
      • VisitorService Module
    • Working with Objective-C
    • API Reference
      • LocationModule
      • MediaSession
      • 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
    • Location Module
    • API Reference
    • Release Notes
  • Unity 1.x
    • Overview
    • Install
    • Track
    • API Reference
  • Unity 2.x
    • Overview
    • Install
    • Track
    • API Reference
  • Xamarin 1.x
    • Overview
    • Install
    • Track
    • Data Management
    • Consent Management
    • API Reference
    • Release Notes
  • Xamarin 2.x
    • Overview
    • Install
    • Track
    • Data Layer
    • Consent Management
    • API Reference
    • Release Notes
  • Web
  • Getting Started
    • Overview
    • Quick Start Guide
    • Web Concepts
    • Data Layer
      • An Introduction to the Data Layer
      • How the Data Layer Works for Websites
      • Data Layer Best Practices
      • Definitions
        • Retail
        • Publisher
        • Hotel
        • Travel
        • Basic Video Tracking
  • Adobe Launch
    • Overview
    • Install
    • Data Layer
  • AMP
    • Overview
    • Install
    • Track
    • Data Layer
  • Angular
    • Overview
    • Install
    • Track
    • API Reference
  • Google Tag Manager
    • Overview
    • Install
    • Data Layer
  • JavaScript (Web)
    • Overview
    • Install
    • Track
    • Data Layer
    • 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
IOS SWIFT

LocationModule

Reference guide for LocationModule class and methods provided by Tealium for iOS (Swift).

Class: LocationModule

The LocationModule class provides methods for gathering location data, creating and monitoring geofences. The following summarizes methods of the LocationModule class for Tealium iOS (Swift) which can be used to make custom changes to the default behavior of the Location Module. For additional details, explore Location.

Method Description
clearMonitoredGeofences() Removes all currently monitored geofences from the location client
getCreatedGeofences() Returns the names of all the created geofences (those currently being monitored and those that are not)
getLastLocation() Gets the last known location for a user’s device
getMonitoredGeofences() Returns the names of all currently monitored geofences
requestAuthorization() Prompts the user to enable permission for location servies
requestTemporaryFullAccuracyAuthorization() Automatically requests temporary full accuracy if precise accuracy is disabled
startLocationUpdates() Enables regular updates of location data through the location client
stopLocationUpdates() Stops the updating of location data through the location client
startMonitoring() Adds geofences to the location client to be monitored
stopMonitoring() Removes geofences from being monitored by the location client

clearMonitoredGeofences()

Removes all currently monitored geofences from the location client.

tealium.location?.clearMonitoredGeofences()

getCreatedGeofences()

Returns the names of all the created geofences (those currently being monitored and those that are not).

tealium.location?.getCreatedGeofences(completion: { createdGeofences in
            if let createdGeofences = createdGeofences {
                // use geofences here
            }
        })

getLastLocation()

Gets the last known location for a user’s device.

tealium.location?.getLastLocation(completion: { lastLocation in
            if let lastLocation = lastLocation {
                // use last location here
            }
        })

getMonitoredGeofences()

Returns the names of all currently monitored geofences.

tealium.location?.getMonitoredGeofences(completion: { monitoredGeofences in
            if let monitoredGeofences = monitoredGeofences {
                // use monitored geofences here
            }
        })

requestAuthorization()

Prompts the user to enable permission for location servies.

tealium.location?.requestAuthorization()

requestTemporaryFullAccuracyAuthorization()

Automatically requests temporary full accuracy if precise accuracy is disabled.

let purposeKey = "a key in the NSLocationTemporaryUsageDescriptionDictionary"
tealium.location?.requestTemporaryFullAccuracyAuthorization(purposeKey: purposeKey)
Parameters Type Description
purposeKey String A key in the NSLocationTemporaryUsageDescriptionDictionary dictionary of the app’s Info.plist file

startLocationUpdates()

Enables regular updates of location data through the location client. Update frequency is dependent on config.useHighAccuracy, a parameter passed on initialization of this class.

tealium.location?.startLocationUpdates()

stopLocationUpdates()

Stops the updating of location data through the location client.

tealium.location?.stopLocationUpdates()

startMonitoring()

Adds geofences to the location client to be monitored.

let myGeofences = [CLCircularRegion]() // Store your self-managed geofences somewhere if you want to stop them later
tealium.location?.startMonitoring(geofences: myGeofences)
Parameters Type Description
geofences [CLCircularRegion]() Geofences to be added

stopMonitoring()

Removes geofences from being monitored by the location client.

tealium.location?.stopMonitoring(geofences: myGeofences)
Parameters Type Description
geofences [CLCircularRegion]() Geofences to be removed
Next
MediaSession
"MediaSession"

 

Was this article helpful?

This page was last updated: April 11, 2022      

Thank you for your feedback!

Table of Contents

  • Class: LocationModule
    • clearMonitoredGeofences()
    • getCreatedGeofences()
    • getLastLocation()
    • getMonitoredGeofences()
    • requestAuthorization()
    • requestTemporaryFullAccuracyAuthorization()
    • startLocationUpdates()
    • stopLocationUpdates()
    • startMonitoring()
    • stopMonitoring()
  • Platforms
  • Partners
  • Forums
  • Mobile
  • Getting Started
  • Remote Commands
  • Android (Java)
  • Android (Kotlin)
  • Cordova 1.x
  • Cordova 2.x
  • Flutter 1.x
  • Flutter 2.x
  • iOS (Objective-C)
  • iOS (Swift) 1.x
  • iOS (Swift) 2.x
  • NativeScript
  • React Native 1.x
  • React Native 2.x
  • Unity 1.x
  • Unity 2.x
  • Xamarin 1.x
  • Xamarin 2.x
  • Web
  • Getting Started
  • Adobe Launch
  • AMP
  • Angular
  • Google Tag Manager
  • JavaScript (Web)
  • Server
  • C#
  • HTTP API
  • Java
  • Node
  • Python
  • Roku
  • Ruby