Snowplow Objective-C Tracker 0.3.0 released

15 February 2015  •  Alex Dean

We are pleased to release version 0.3.0 of the Snowplow Objective-C Tracker. Many thanks to James Duncan Davidson and atdrendel from 6Wunderkinder, and former Snowplow intern Jonathan Almeida for their huge contributions to this release!

In the rest of this post we will cover:

  1. Mac OS-X support
  2. New trackTimingWithCategory event
  3. Removed AFnetworking dependency
  4. Other API changes
  5. Upgrading
  6. Getting help

1. Mac OS-X support

The team at 6Wunderkinder have added Mac OS X support to the tracker - necessitating its renaming from the Snowplow “iOS Tracker” to “Objective-C Tracker”. You can now embed Snowplow event tracking in your desktop OS-X applications. Huge thanks James and atdrendel for contributing this excellent new functionality!

Please note that this tracker will attach a new context, called desktop_context to events when run in OS-X. The JSON Schema for desktop_context is now available in Iglu Central; the JSON Paths file and Redshift table definition will be available from the next Snowplow release, release 61 “Pygmy Parrot”.

2. New trackTimingWithCategory event

You can now track Google Analytics-style user timings, with the new trackTimingWithCategory event. Here is an example:

// Upon returning from background
[tracker trackTimingWithCategory:@"Application"
                        variable:@"Background"
                          timing:324
                           label:@"production"];

Again, the JSON Paths file and Redshift table definition will be available from Snowplow release 61 “Pygmy Parrot”.

3. Removed AFnetworking dependency

We received feedback from multiple mobile developers that the tracker’s dependency on AFnetworking was making it more difficult for them to integrate it into their apps. Again, the team at 6Wunderkinder stepped up, contributing a patch that swapped out AFnetworking for the standard NSURLSession. This change should make it much easier for developers to integrate the Snowplow iOS Tracker. Thanks again guys!

4. Other API changes

Former Snowplow intern Jonathan Almeida has cleaned up the tracker’s API to bring it more in-line with our other trackers. In particular, the class formerly known as SnowplowRequest is now called SnowplowEmitter. Please update your calling code.

Jonathan has also contributed a new initializer for the SnowplowEmitter, with POST as the default method. Many thanks Jonathan!

5. Upgrading

To add the Snowplow Objective-C Tracker as a dependency to your own app, add the following into your Podfile:

pod 'SnowplowTracker', '~> 0.3'

If you prefer, you can manually add the tracker’s source code and dependencies into your project’s codebase.

6. Getting help

Useful links:

If you have an idea for a new feature or want help getting things set up, please get in touch. And raise an issue if you spot any bugs!