This guide shows how to add Analytics to your iOS app to measure user activity
to named screens. If you don't have an application yet and just want to see how
Analytics works, take a look at our
sample application.

Note: Beginning with version 3.16 of the Google
Analytics for iOS SDK, Xcode 7.3 or higher is required.

Objective-CSwift

Analytics uses CocoaPods to install and
manage dependencies. Open a terminal window and navigate to the location of the
Xcode project for your application. If you have not already created a Podfile
for your application, create one now:

pod init

Open the Podfile created for your application and add the following:

pod 'GoogleAnalytics'

Save the file and run:

pod install

This creates an .xcworkspace file for your application. Use this file for all
future development on your application.

Initialize Analytics for your app

Now that you have the configuration file for your project, you're ready to
begin implementing. First, configure the shared Analytics object inside
AppDelegate. This makes it possible for your app to send data
to Analytics. You’ll do the following:

Include the necessary headers.

Set the Analytics tracker inside didFinishLaunchingWithOptions.

Replace YOUR_TRACKING_ID with your own
Analytics tracking ID, like UA-47605289-8.

Send exceptions and logging info (optional).

To do these changes, first be sure your Swift project has a BridgingHeader.
Then, inside this bridging header, add Analytics:

Add screen tracking

Here you’ll send a named screen view to Analytics whenever the user opens or
changes screens on your app. Open a View Controller that you'd like to track, or
if this is a new application, open the default view controller. Your
code should do the following:

Add the required <Google/Analytics.h> header.

Use a viewWillAppear method or function override to insert screen tracking.

Note: You can add tracking code to every
UIViewController that represents a screen,
whether shown to your user imperatively (via code) or via storyboard. Set a name
inside every UIViewController if you want to differentiate between screen
views for your app in Analytics. All activity recorded on the shared tracker
sends the most recent screen name until replaced or cleared (set to nil).