OutRun is an iOS app for recording and viewing your outdoor workouts

Overview

OutRun

OutRun is an iOS app for recording and viewing your outdoor workouts. Despite the name it supports not just running, but also walking, hiking, cycling and skating.

This project is fully open-source and ad-free.

Features

OutRun has a rich feature set centered around customisation and privacy. The list of features includes:

  • Keep full control over your data
  • Record your outdoor workouts (Running, Walking, Hiking, Cycling and Skating)
  • View detailed statistics
  • Export your workouts as GPX or OutRun-Backup (.orbup)
  • Fully customise the recording process
  • Synchronise with Apple Health

Contribution

You want to make this app even better? No problem! There are lots of ways you can contribute even if you cannot code yourself:

  • Share this project. The simplest way of contributing is by sharing this project with your friends and family. Once more people see that it exists, it is more likely to get support and people interested and capable of adding to it.
  • Join the beta. Sometimes features need to be tested before being rolled out to all users, that is where beta testers come in. They receive early and sometimes unstable versions of the app and test them thoroughly, to make sure that others get a more polished product. You can join here.
  • Report Issues. If you see some parts of the app not working as expected, if you want to give any kind of feedback or if you just have a question you can submit an issue on the issue page of this project.
  • Write Code. And then there is the standard way of contributing to an open-source project. You can always write code that advances the app. To see how to contribute look at the Contribution Guidelines.
  • Translate. Last but definitely not least there is translation which is an integral part to make this project available to more people in more countries. For more information on contributing read the following section.

Translation

OutRun uses Weblate as a tool to make translation easier. Once languages are fully translated on said platform they will be added to the project and published to the AppStore.

So far the following languages are supported:

Language Translation Status
Catalan ca translation status
Croatian hr translation status
Czech cs translation status
Danish da translation status
Dutch nl translation status
English en translation status
Finnish fi translation status
French fr translation status
German de translation status
Italian it translation status
Polish pl translation status
Spanish es translation status
Swedish sv translation status

If you want to add languages or improve already translated ones you can do this here.

Donation

This project currently does not accept any kinds of donation, neither in-app nor through external methods. For now the only ways to contribute can be found under Contribution.

If you cannot contribute in any other way than financially or just feel really generous at the moment you could consider supporting the folks at Weblate. They are providing their services to OutRun for free, because they are great believers in open-source development, it still costs them money to host the project on their website though, so supporting them also directly benefits OutRun.

License

OutRun is published under the GNU GENERAL PUBLIC LICENSE Version 3 (GLPv3):

OutRun
Copyright (C) 2020 Tim Fraedrich 
   
    

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see 
    .

   
Comments
  • Spanish and Catalan translation

    Spanish and Catalan translation

    Is your feature request related to a problem? Please describe. I would like to contribute translating this app into Spanish and Catalan but I can't enable any language in Weblate.

    Describe the solution you'd like I want to ask @timfraedrich to enable those languages in Weblate.

    Describe alternatives you've considered None. I love using this app. I want to contribute so that more friends who don't speak English can use it.

    Additional context I used to translate open source projects with similar websites (crowdin.net). Also, I speak the three languages I mentioned.

    translation 
    opened by lpla 16
  • Cycling Distance don't sync to Apple Health

    Cycling Distance don't sync to Apple Health

    The app stopped syncing Cycling Distance to Apple Health after version 1.2 even it having write permission to Cycling Distance category on Apple Health.

    bug duplicate 
    opened by arthurpereira 8
  • Unable to Compile

    Unable to Compile

    XCODE 12.0.1

    Have done sudo gems update cocoapods pod update (on the downloaded files directory)

    Update all pods
    Updating local specs repositories
    Adding spec repo `trunk` with CDN `https://cdn.cocoapods.org/`
    Analyzing dependencies
    Downloading dependencies
    Installing Cache (6.0.0)
    Installing Charts (3.6.0)
    Installing CoreGPX (0.8.1)
    Installing CoreStore (6.3.2)
    Installing SnapKit (5.0.1)
    Generating Pods project
    Integrating client project
    
    [!] Please close any current Xcode sessions and use `OutRun.xcworkspace` for this project from now on.
    Pod installation complete! There are 5 dependencies from the Podfile and 5 total pods installed.
    

    trying to run it locally on simulator churned out quite a few build issue.

    Screenshot 2020-10-17 at 3 38 45 PM

    Would appreciate some guidance on what's happening.

    /// the disk storage as basis of the caching system
        private let diskStorage: DiskStorage<UIImage>?
    

    clicking no the error declaration points to this

    /// Save objects to file on disk
    final public class DiskStorage<Key: Hashable, Value> {
      enum Error: Swift.Error {
        case fileEnumeratorFailed
      }
    

    is there a missing "value"?

    Thanks

    question 
    opened by mjunkmyjunk 3
  • No altitude data recorded

    No altitude data recorded

    Describe the bug OutRun is not recording altitude data - when viewing a workout, that section is blank.

    To Reproduce Steps to reproduce the behavior:

    1. Record and save a workout
    2. View it in history
    3. Ascending and Descending both say "0m" and the graph is blank.

    Expected behavior Altitude data should be recorded and viewable.

    Screenshots AC7FE7A3-2D53-46B1-B8BC-58D5B8ABDC35

    Device Information (please complete the following information):

    • iPhone: X
    • OS: 13.6
    • Version 1.2

    Additional context This seems to have worked for the very first workout I recorded with OutRun but hasn't worked since. Location permission is set to "While Using".

    bug 
    opened by nano9g 3
  • resolved timfraedrich#8

    resolved timfraedrich#8

    when synchronizing a workout with the Health app, it could happen that some workout samples do not synchronize, even if the user has granted write permission for these categories

    opened by arthurpereira 2
  • Topmost map in History doesn't change when dark mode toggled

    Topmost map in History doesn't change when dark mode toggled

    Describe the bug When dark mode is toggled, the very first map in History doesn't switch like the others. If going from light to dark, it will stay light, and vice versa.

    To Reproduce Steps to reproduce the behavior:

    1. Go to History
    2. Toggle Dark Mode
    3. The first map will stay in the previous mode

    Expected behavior The first map should change like the others.

    Screenshots 78CC9164-F1B9-43D1-9CCE-EBA36B83CD22

    Device Information (please complete the following information):

    • iPhone: iPhone X
    • OS: 13.6.1
    • Version: 1.2 (6) beta
    bug 
    opened by nano9g 2
  • Beta expires next week

    Beta expires next week

    Describe the bug Beta version linked in Readme expires next week, so it could create regressions or inconsistencies in the stored data for users using betas that revert to sn old stable release after the expiring date.

    To Reproduce Steps to reproduce the behavior:

    1. Go to the beta link
    2. Open in TestFlight
    3. Check app details

    Expected behavior Another beta or stable release should fix that.

    bug 
    opened by lpla 1
  • Fix: Burned Energy is not calculated when workout type gets altered

    Fix: Burned Energy is not calculated when workout type gets altered

    • Resolve #26
    • Add improvements
      1. Enum allCases array to be synthesized
      2. Dynamically fill with enum options
      3. Fill right option in picker instead of the first
    enhancement 
    opened by RoberthSiqueira 1
  • Add a decimal point (or two) in the home screen of a workout

    Add a decimal point (or two) in the home screen of a workout

    At the moment the home screen shows the list of workouts and a round-up distance. I would like to have it at least round-up to a decimal point. So instead of 2km to 2.4km. I feel 400 meters is quite a difference.

    19D836E3-0D6D-479C-A8EF-FCDA3E2A4A0F

    duplicate enhancement 
    opened by Duckbilled 1
  • More detailed values for duration and distance

    More detailed values for duration and distance

    In the workout summary the workout duration and distances are only shown as rounded values. E.g. if my workout took me 1:39h it is shown as 2hours. Same goes for distances being shown as full kilometer values.

    I don't see a reason why durations should not show the precise value and distances are not represented by at least one or maybe two decimal places.

    Changing this should not be an issue as there is enough space and it would help comparing workouts to each other.

    opened by FelixMoelder 1
  • Improve History display of multiple workouts on the same day

    Improve History display of multiple workouts on the same day

    Is your feature request related to a problem? Please describe. Currently the History view displays the same information header (Today, Yesterday, etc.) above every workout, even when there are multiple workouts on the same day. In my opinion, this adds visual noise without much benefit.

    Describe the solution you'd like I could see two ways to address this.

    1. A single header for each day with all that day's workouts below:

    Today [Workout 1] [Workout 2]

    1. Continue to have a header for each workout, but add the time.

    Today 7:30 AM [Workout 1] Today 3:00 PM [Workout 2]

    I'm personally partial to option 1 (although I would like to see start time displayed somewhere in the History view, I'm not sure the header is the right place for it).

    I'd be happy to mock this up if the text-based examples aren't clear. Thanks!

    enhancement 
    opened by nano9g 1
  • Full Apple HealthKit Support / Full Data Write to Apple Health

    Full Apple HealthKit Support / Full Data Write to Apple Health

    Would be very nice, if the app will provide full Apple HealthKit intgeration or let's say the app should write full data to Apple Health App. For example the GPS Data will not be written to Apple Health. If i go inthe the Health App and look for the trainings (activities) the gps route is not shown.

    enhancement 
    opened by matthiasballreich 0
  • Live Activity for home screen

    Live Activity for home screen

    Describe the solution you'd like In iOS 16, later this year, there will be a thing called live activities. It would be pretty nice if we could pull out our iPhone and could see some basic details from the lockscreen.

    Additional context https://developer.apple.com/documentation/activitykit

    https://www.theverge.com/2022/6/6/23151443/ios-16-notification-features-apple-wwdc

    enhancement future 
    opened by Duckbilled 1
  • Weight number changes after being set by user

    Weight number changes after being set by user

    Firstly, thanks for open sourcing this app! It's quite nice :)

    Describe the bug When users enter a value for weight it will change after the value is set. Eg: When I enter 135lbs it changes to 134.99lbs. This also happens when I tried entering a value in kilograms though I had to add more decimals for it to change. If I had to guess what the issue is, I would say that the app calculates things in kilos and rounds them nicely which causes values entered in pounds to be rounded strangely. For what it's worth, I think the imperial system is very dumb but we generally use it for weight in Canada for.... some reason. 🙃

    To Reproduce Steps to reproduce the behavior:

    1. Go to app Settings
    2. Change the weight value
    3. See error

    Expected behavior I expect the value I set to be the value that is displayed / used.

    Device Information (please complete the following information):

    • iPhone: iPhone Xr
    • OS: iOS 15.5
    • Version: 1.3
    bug 
    opened by Shrinks99 0
  • Add totals feature. Miles cycled this week/month/year, miles ran this week/month/year. All time totals, etc.

    Add totals feature. Miles cycled this week/month/year, miles ran this week/month/year. All time totals, etc.

    Is your feature request related to a problem? Please describe. I would like to be able to track my totals over time. I use OutRun to track all of my cycling, and it would be nice to know what the total miles tracked is, total miles this week, total for the year, etc.

    Describe the solution you'd like Potentially a button that would open up a new screen, maybe another tab on the bottom. Display totals by category (walking, hiking, cycling, running, etc, maybe a combined one) and then within each category, totals for the week/month/year/all time. Maybe a period-to-period comparison as well? That's 12 more miles than last month! (+10%) but defo not required. Maybe some kind of history so you could review totals from past periods?

    Describe alternatives you've considered I've tried using the Apple health integrations, but I can't seem to find an easy way to get totals out of it either. The best I can do is per day and then adding them all up, or taking the month average and multiplying by the number of days cycled in that month. Not ideal.

    Did also consider exporting and using Python to figure it out, but that sounded like a lot of effort that would probably be better a dev doing once and integrating into the solution rather than me messing around every time I want to total up my miles.

    enhancement future 
    opened by DanCousins 1
  • Shortcuts Support

    Shortcuts Support

    Describe the solution you'd like It would be great to have functionality of the OutRun app available from the Apple Shortcuts app so that I could automatically start a walk for example.

    enhancement 
    opened by finnoprey 1
  • Crashes constantly

    Crashes constantly

    The app has become unusable on both iOS 14.8.1&15.2.1. Crashes on both versions within 5-20 mins. Definitely no way to record my 2 hour daily work outs. Both my iPhone X and 13 Pro Max have the issue.

    bug 
    opened by ScalableCodex 0
Releases(v1.2.2)
  • v1.2.2(Oct 17, 2020)

    This version mainly addresses legal issues connected to the registration of a trademark in the UK, for more info see #33 or contact me directly.

    It also fixes the following bugs:

    • some AppleHealth samples were not added properly to the HealthStore (#8)
    • ascending and descending altitude were swapped (#16)
    • style issues occurred because of changes in iOS 14 (#27)
    Source code(tar.gz)
    Source code(zip)
  • v1.2.1(Aug 25, 2020)

    This version fixes the following bugs:

    • logic error when rounding (#13)
    • app crashes due to inconsistencies in the data (#12)
    • map images had the wrong appearance (#9)
    • the app wrongfully showed an error when trying to start a workout (#2)
    Source code(tar.gz)
    Source code(zip)
  • v1.2(Aug 8, 2020)

Owner
Tim Fraedrich
19 y/o college student
Tim Fraedrich
An alternative gym workouts tracker written in SwiftUI.

Gymspot Gymspot is an alternative workout tracker written in SwiftUI. I decided to start working on it because: I need an easy-to-use tracker for my w

Alessio Moiso 3 Nov 22, 2022
Visualize your dividend growth. DivRise tracks dividend prices of your stocks, gives you in-depth information about dividend paying stocks like the next dividend date and allows you to log your monthly dividend income.

DivRise DivRise is an iOS app written in Pure SwiftUI that tracks dividend prices of your stocks, gives you in-depth information about dividend paying

Kevin Li 78 Oct 17, 2022
In this mini app covered the concepts like basics of SwiftUI and Navigations and Animations and List with CRUD functions and MVVM and App Launch and App icons adding and also applied persistence using UserDefaults Concept.

TodoList In this application used the concepts from the beginner level project of SwiftUI_Evolve_1 The following concepts covered in this mini app Swi

Sivaram Yadav 2 Dec 4, 2021
iOS Trakt Client - Keep track of your favorite TV shows and movies on your iPhone. (Under development)

CouchTracker Keep track of your favorite movies and tv shows on your iPhone Setup for development You will need Xcode 11.2.1 Swift 5.1.2 Run the follo

Pietro Caselani 42 Apr 19, 2022
Pegase is a beautifully easy tool to keep track of your financial life on all your macOS

Pegase ?? Features ?? Documentation Personal account software Pegase is a beautifully easy tool to keep track of your financial life on all your macOS

null 2 Oct 12, 2021
iCloud Drive is Apple's essential connection between all your devices, Mac, iPhone, iPad, even your Windows PC.

iCloud Drive is Apple's essential connection between all your devices, Mac, iPhone, iPad, even your Windows PC.While the cost of storage seems expensive in comparison to other online storage services, its advantage is that it works natively across all your devices.

MindInventory 12 Jul 29, 2022
Show off your GitHub contributions from your lock screen 📱

GitHubContributionsiOS V2 NOTICE: V2 is published. It is a complete rewrite using SwiftUI and Catalyst. Source code are now hosted on the version/2.x

JustZht 478 Dec 16, 2022
iOS App to display game lists and details with the ability to add games to your favorites list and see metacritic ratings.

Game Data System - GDS Author: Heitor Silveira ([email protected]) iOS App to view games from various platforms, their description, release

Heitor Ugarte Calvet da Silveira 0 Oct 6, 2021
An iOS app that allows you to create resumes on your phone and export them to pdf

Resume Builder iOS An iOS app that allows you to create resumes on your phone and export them to pdf To create a new resume, choose + from the main vi

Sonia Grzywocz 1 Oct 25, 2021
iOS app that allows you to search for any comic character and save your favorites in a list.

iOS App: My Comics Swift exercise ¡Hola mundo! In my Swift learning journey my mentor and I decided to do an app using the Comic Vine API. This API gi

Silvia España Gil 5 Dec 13, 2022
👶🏻 An iOS app to help you track sleep, feedings and diaper change for your baby

?? Maby Maby is an iOS/watchOS open-source app to help you keep track of your baby's sleep, feedings, diaper changes and more to avoid the constant qu

Fran González 2 Aug 25, 2022
A demo of how you can integrate SwiftUI and Airtable in your app

SwiftUI Airtable Demo This is a small, functional example app that demonstrates how you can use Airtable as a lightweight backend. I wouldn't recommen

Zack Shapiro 144 Oct 21, 2022
A tiny app that will check your recent subscriptions on RevenueCat and will

Meow Let your RevenueCat talk Download Credits Big thanks to: RxSwift KeychainAccess Popover Notice of Non-Affiliation and Disclaimer We are not affil

2Stable 22 Jul 14, 2022
Companion app and XCode extension for adding SwiftUI recipes to your code.

SwiftUI Recipes Companion Free Companion app and XCode extension for adding SwiftUI recipes to your code. Choose from a rich selection of SwiftUI reci

Gordan Glavaš 17 Nov 20, 2022
Watch WWDC and Tech Talk Videos on your Apple TV, tvOS App.

WWDCTV This project allows you to watch WWDC & Tech Talks videos on your Apple TV. It has been built for tvOS 9.0 using Xcode 7.1 You can also favouri

Aaron Stephenson 421 Nov 3, 2022
BookShelf - an app for cataloguing and tracking your books

BookShelf An app for cataloguing and tracking your books. Watch the talk » Report Bug · Request Feature Table of Contents About The Project Getting St

Peter Friese 33 Dec 13, 2022
Cookbook app that allows you to read, add and modify your recipes.

What-s-For-Dinner-iOS-App Cookbook app that allows you to read, add and modify your recipes. Features ?? ?? View You can see recipes divided into cate

Katie Saramutina 2 May 18, 2022
A basic app to convert your money between USD, EUR and JPY.

Currency Converter App for iOS What frameworks and technologies used VIPER + MVI as architecture pattern Stevia for UIKit Layout Alamofire for Network

Arthur Zavolovych 2 Nov 2, 2022
Simple iOS app to keep all your Warranties tagged!

Warrenty-Tag A simple iOS app to keep all your Warranties tagged! Description Ever find it difficult to get hold of all your warranties and bills? or

BISHAL KUMAR 1 Dec 21, 2022