If you are interested in iOS8 Widget please also see
UPDATE 2014 September 20: Voice runner is iOS8 ready.
PREVIOUS UPDATE : Voice runner supports M7 coprocessor for step-counting
Voice Runner is a complete Runner App totally developed with Objective-C, memory is ARC managed.
Voice Runner is the first Runner App that allows you to concentrate 100% and not get distracted ever, but at the same time keeps you informed. This is the first Runner App that uses headset button to get info during workout, no distraction during the run, no need to look at the iPhone.
The App is ready to be built with Xcode 6.0 or later, deployment target iOS 7.0 or later.
You can test this App directly from AppStore here: Voice Runner
You have the full rights to modify this source code, but if you want to submit it to Itunes Store you must change name, icon and graphic. You can't redistribute this code.
Voice Runner uses GPS to track run session. Voice Runner calculate distance travelled, time on the path, pace and archive all informations.
Voice Runner supports iOS7 GPS power saving using “deferred Location Updates”.
With Voice Runner you can listen to songs from your Ipod library during the run, if a call starts during the run music pause and resume automatically at the end of the call.
With Voice Runner when you simply press the button on the headphones a voice will give you all informations in real time. You will not be distracted at all, no need to watch at the iPhone during the run.
The APP supports three different layout : blue style, violet style and iOS7 style.
The App is localized in English and Italian.
The App uses AVSpeechSynthesizer for speech synthesis and speaks Italian, English, French, German and Spanish. NO internet connection is required.
The App contains two inApps. If you don’t purchase inApps you can use the App for your run, you can listen to vocal information (trip distance only), you can see your GPS session (only of the first two sessions) on the map, you can see statistics (only of the first two sessions) and you can share your run with Facebook and twitter. If you purchase “UNLOCK VOICE inApp” you can listen to all vocal informations : trip distance, workout time, current time. If you purchase “UNLOCK GPS ARCHIVE inApp” you can see all sessions, statistics and delete sessions from archive. If you purchase one of the inAPP iAds will disappear from the main ViewController.
The App contains iAds.
The App contains Remote Push Notification Service.
inAppManager folder contains all code to manage inApp purchase
ArchiveManager folder contains all code to manage run sessions Archive
launch images folder contains iphone launch Images
sounds folder contains sounds
localization folder contains english and italian localizations strings files
images folder contains all graphic files
AppDelegate folder contains appDelegate code files
configuration folder contains code for management of configuration variable
Supporting Files folder contains plist files
ViewController folder contains all file (.h,.m and .xib file) code of the App. The App doesn’t use catalog assets or storyboards. There is two different .xib for each ViewController : one for iphone 3.5’ and the other for iphone 4’.
infoPlist in InfoPlist.strings file you must specify the App Name that will be shown on Iphone desktop. Replace “Voice Runner” with the name desired
InApp In InAppSmartRunner.m you have to replace the following com.companyName.VoiceRunner.Step1 com.companyName.VoiceRunner.Step2 with the inApp identifiers you have registered on ItunesConnect. You have to put your identifiers in the following files (the ones in which inApp is used) SmartRunnerMainViewController.m SmartRunnerSettingsViewController.m SmartRunnerHistoryViewController.m
Push Notification Service SmartAppDelegate.m
(void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken. You must provide a valid url where to store PushNotification token. Replace the following http://www.xxx.com/VoiceRunnerID.php url with the one of your server. The Notification token is sent with httpRequest.
- (void) actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex . Here you must replace "xxxxxxxxx" in "itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=xxxxxxxxx" with identifier of your App in order to redirect user to your App for writing review.