An open-source remake of my step tracking app, Steppy. Now written entirely in Swift and integrated with the Health app in iOS 8. Download it for free!
Built with Xcode 6.3.1. Requires iOS 8.0+ for HealthKit.
The application delegate. Loads the UIAppearence attributes, starts GameKit authentication in STPYGCHelper, and gets called for background refreshes.
Extension of UIColor. Includes the application background colors and also helps in creating colors for smooth transition between other colors.
The view that appears to extend the navigation bar. Used in STPYLeaderboardViewController
The view that appears in the top scroll view in STPYGraphViewController.
The view that contains and manages a single graph.
Each bar in a STPYGraphView. Has another UIView inside of it that appears to grow/shrink in the eyes of the user, but actually stays constant to easily detect touches.
Handles Game Center authentication, leaderboard data downloading, and submitting step counts.
The link between HealthKit and the app. Queries data and saves it for display.
Link to NSUserDefaults for classes to easily save and load data.
Contains NSDate extensions that help with storing data. Also gets localized day abbreviations for the graphs.
Class to reuse various NSFormatters that are used throughout the app.
Gets the lastest step data from the Core Motion framework instead of HealthKit.
The main view controller of the app. Displays the step data in the form of interactive graphs in a scroll view.
The view controller all other modal view controllers in the app inherit from. Allows for consitent button style setting and easily adding menu/dismiss/done button to controllers. Also helps in making sure background color is the same as the STPYGraphViewController.
The view controller that displays basic infomation about the app (name/version/build). Also allows the user to toggle Game Center features.
The view controller that displays the step count leaderboards. Only enabled if the user is signed into Game Center. Uses a UISegmenetedControl to allow the user to select leaderboard time span.
The view controller that displays on first launch of the app. Allows the user to sign into Game Center and authenticate app with HealthKit.
The view controller for the graph extension in Notification Center.
The view controller for the step count extension in Notification Center.
At this point in my life, seeing a high download count is more rewarding than a few extra dollars.
I spent a lot of time crafting a simple, elegant user interface. I'm not going to ruin it by sticking an ad in the middle of it.
Thanks to William Preston, Sam Lim, Stephen Stearns, and Varun Gupta for being awesome beta testers. Especially Sam. Sam was pretty awesome. If you want to beta test any of my future projects send me an email from my website.
Thanks to Apple for allowing me attend WWDC 2012-14 on student scholarship. It's my Disneyland.
(2014 - 11th Grade)