iOS web analytics installation

Install with the wizard

Run this command in your project directory to add PostHog to your iOS project. The wizard detects your framework, installs the SDK, and sets up your first events.

Learn more

Or set it up manually by following the rest of this guide.

  1. Install dependency

    Required

    Install via Swift Package Manager:

    Package.swift
    dependencies: [
    .package(url: "https://github.com/PostHog/posthog-ios.git", from: "3.56.0")
    ]

    Or add PostHog to your Podfile:

    Podfile
    pod "PostHog", "~> 3.56"
  2. Configure PostHog

    Required

    Initialize PostHog in your AppDelegate:

    AppDelegate.swift
    import Foundation
    import PostHog
    import UIKit
    class AppDelegate: NSObject, UIApplicationDelegate {
    func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {
    let POSTHOG_PROJECT_TOKEN = "<ph_project_token>"
    let POSTHOG_HOST = "https://us.i.posthog.com"
    let config = PostHogConfig(projectToken: POSTHOG_PROJECT_TOKEN, host: POSTHOG_HOST)
    PostHogSDK.shared.setup(config)
    return true
    }
    }
  3. Track screen views

    Recommended

    Despite the name, the web analytics dashboard can be used to track screen views in mobile apps, too. Open your app and view some screens to generate some events.

    To automatically track screen views, configure PostHog to capture screen views:

    AppDelegate.swift
    let config = PostHogConfig(projectToken: POSTHOG_PROJECT_TOKEN, host: POSTHOG_HOST)
    config.captureScreenViews = true
    PostHogSDK.shared.setup(config)
  4. Next steps

    Recommended

    After installing PostHog and ensuring autocapture is enabled, head to your web analytics dashboard to see your data. And then check out our start here guide.

    PostHog tip: Web analytics works with anonymous events. This means if you are primarily using PostHog for web analytics, it can be significantly cheaper for you.

Still have questions?

Was this page useful?