Swiftpack.co - snowplow/snowplow-objc-tracker as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by snowplow.
snowplow/snowplow-objc-tracker 5.0.0-alpha.2
Snowplow event tracker for Objective-C. Add analytics to your iOS 8.0+, macOS and tvOS apps and games
⭐️ 67
🕓 5 weeks ago
.package(url: "https://github.com/snowplow/snowplow-objc-tracker.git", from: "5.0.0-alpha.2")

iOS, macOS, tvOS and watchOS Analytics for Snowplow

actively-maintained Build Status Coverage Status Platform Version Carthage License


Snowplow is a scalable open-source platform for rich, high quality, low-latency data collection. It is designed to collect high quality, complete behavioral data for enterprise business.

To find out more, please check out the Snowplow website and our documentation.

Snowplow iOS Tracker Overview

The Snowplow iOS Tracker allows you to add analytics to your mobile apps when using a Snowplow pipeline.

With this tracker you can collect event data from your applications, games or frameworks.

Technical documentation can be found for each tracker in our Documentation.

Demo apps using the Snowplow iOS Tracker

Some examples of demo apps instrumented with our iOS Tracker can be found in the snowplow-objc-tracker-examples repository.

Instrument the iOS Tracker

Technical Docs Setup Guide API Docs
i1 i2 i3
Technical Docs Setup Guide API Docs



Copyright and license

The Snowplow iOS/macOS/tvOS/watchOS Tracker is copyright 2013-2022 Snowplow Analytics Ltd.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this software except in compliance with the License.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


Stars: 67
Last commit: 6 minutes ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

Version 5.0.0-alpha.2
5 weeks ago

This is the second pre-release of the upcoming version 5 of the iOS tracker written in Swift. This pre-release brings several significant features and changes to the tracker: (1) screen view tracking in SwiftUI, (2) move to Swift Package Manager as the build system and removal of Carthage, and (3) a new way to track the IDFA identifier for advertisers.

Screen views in SwiftUI apps can now be tracked using the .snowplowScreen(name: "ScreenName") modifier on the View component. For views annotated with the modifier, screen view events will be tracked as the views appear in the SwiftUI lifecycle.

Support for Carthage has been removed from the project. Fully adopting the Swift Package Manager enables us to simplify the build system and avoid workarounds that were previously needed to support Carthage. We believe this will make it easier to maintain the tracker while covering all use cases with Swift Package Manager and CocoaPods. If you have feedback about this change, we'd be happy to hear from you on Discourse!

Finally, the release fixes a problem that the IDFA identifier could not be tracked on apps installing the library through Swift Package Manager. It introduces a new API to set a closure in TrackerConfiguration.advertisingIdentifierRetriever that retrieves and returns the identifier.


  • Add screen view tracking for SwiftUI (#705)
  • Drop Carthage and build using Swift Package Manager (#735)
  • Add a closure to tracker configuration that enables retrieving IDFA value and replaces the use of SNOWPLOW_IDFA_ENABLED macro (#678)
  • Add API docs using Swift-DocC (#739)

Under the hood

  • Add tests using Micro for payload validation (#736)
  • Update API comments for Swift-DocC and add missing comments (#740)

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics