SpriteKit Game From Scratch, Swift 2.0, part 2 – Fitness Apps

If you are trying to be more physically active, up your daily steps, or burn more calories, fitness apps can help you on your way. We have trawled through fitness apps galore to bring you the best based on usability, design, user ratings, update frequency, and their capacity to get you moving.

woman holding phone at a gym
Fitness apps are designed to keep you motivated while running, walking, cycling, or taking part in any other physical activity.

Exercise is the miracle cure we have all been waiting for. It is free, easy to start, has few side effects when done properly, and does not need a prescription. If exercise were a drug, it would be the most cost-effective medicine of all time.

Being physically active has an overwhelming number of attached benefits, such as helping you maintain a healthy weight, strengthening your heart, improving lung function, and reducing your risk for coronary heart disease. Furthermore, physical activity lowers your risk of depression, cognitive decline, diabetes, and cancer.

The U.S. Department of Health and Human Services guidelines for physical activity recommend that for significant health benefits from exercise, you should take part in at least 150 minutes of moderate-intensity aerobic activity each week, although some advantages can be seen from as little as 60 minutes per week.

Physical activity comes in many forms, from high-intensity running to leisure cycling and yoga stretches. Here are Medical News Today‘s top 10 fitness app selections to make hitting those recommended physical activity targets fun. Visit zmescience.com.


RunKeeper logo

RunKeeper tracks walks, runs, and any other physical activity. From the casual stroller to the 5K runner and those building up to a marathon, this GPS app boasts a community of 50 million users and is suitable for everyone. You can build, save, and discover new routes with GPS to keep your workout stimulating. Learn more about lean belly 3x.

Whether your goal is to train for a race, lose weight, or hit a particular pace target, RunKeeper can help you to plan your route to get there. The My Plan dashboard provides custom training plans based on your answers to a series of questions, or there are ready-made schedules that can be selected.

It is easy to stay motivated with RunKeeper. You can join challenges to push yourself, win rewards for your workouts, and share your progress with friends. You can also create your own challenges, invite friends to join you, and encourage and cheer each other on along the way.


Strava logo

Strava aspires to connect the world’s athletes by providing an inspiring experience minus the junk posts you might find on other social networks. They say that you might join Strava for the app’s tracking ability, but you will stay for their motivating and competitive community. Strava is our top pick for social training.

Strava’s community involves millions of cyclists, runners, active adventurers, and pros that record their activities. Strava’s activity tracking provides key statistics such as speed, pace, distance, elevation gained, and calories burned during and after exercise. An interactive map of your activity is also displayed.

You can compare your performance with other users and connect with the community, as well as share highlights of your activity, stories, and showcase photos of the best moments from your run or ride. Encouragement and motivation can be gained or given through comments and kudos. A bit of friendly competition can also be injected into your workout by shooting for the best time on the leaderboard.

Yoga Studio

Yoga Studio logo

Yoga Studio is the most highly recommended yoga app and for a good reason. With more than 70 ready-made yoga and meditation classes with levels ranging from beginner to advanced and lasting from 15 to 60 minutes, there is something for everyone.

You can customize classes and choose whether you want to focus on strength, balance, flexibility, relaxation, or a combination of all four. The commentary provides clear and easy-to-follow instructions on how to do a pose and how to move from one pose seamlessly to the next.

Sworkit logo

Sworkit is a simple and customizable workout app rated number 1 by the American College of Sports Medicine for quality of instructional exercise standards. Sworkit has delivered more than 40 million workouts to people of all levels of fitness.

After entering your personal data, you can select your motives and goals to make sure every second counts. The workout dashboard introduces numerous exercises for strength, cardio, yoga, and stretching demonstrated by your coach. Individual exercises can be viewed using the custom dashboard to compile your personalized workout.

You can choose workout plans to become “Leaner,” “Fitter,” or “Stronger,” and each of the three categories contain workouts, which are free for 7 days, for the beginner, intermediate, and advanced. Upgrading to Premium gives you full access to guided workouts, custom intervals for high-intensity interval training (HIIT) and Tabata, and unlimited custom workouts.

J&J Official 7 Minute Workout

J&J Workout logo

Setup is fast. You can jump straight into a 7-minute workout, or 9.07 minutes with a warmup. Swiping between workout views on the slick interface displays time, video, or music, which can be selected from your phone music library. You can also give a thumbs up or thumbs down for exercises that you like or dislike.

Browsing through the video tutorials teaches you how to perform each of the 72 exercises safely and effectively. Your progression is tracked in the performance dashboard to indicate the days, number of cycles completed, and effort. A snapshot of your training can be shared with your friends to help keep you motivated, or perhaps to involve a little healthy competition

8 thoughts on “SpriteKit Game From Scratch, Swift 2.0, part 2 – Fitness Apps

  1. Your gameScene variable still returns nil. I’ve added it to the top of my didMoveToView and I still get frameH found nil when unwrapping an optional variable. I’m a complete noob, so I may have pasted something wrong, but I think the global files are getting called before the didMoveToView is and so it get a value of nil.

    When I added the line “gameScene = scene” to the viewDidLoad method in the GameSceneController page it worked like a champ.

    • Razvigor Andreev says:

      It’s a bit tricky, as these are really not initialized at the point, however I’ve run the code and it compiled fine on my machine. Did you compare your code to the one from the link on GitHub ? I’ve copied that from the one I had running. If you want to be super safe you would want to get the frame values after the View loads, you could also get the UIScreen size instead, but there are some other problems there, since the scene gets stretched across the screen. Basically, I prefer using global files, however you have to be careful 🙂 Also, if you are creating global functions ( public func ) that are outside a class, but you want the func to be using something from within a game scene you can have the functions take a parameter like : public func myFunc( someScene: GameScene ) { do something with someScene here } …
      Anyway … let me know what happens 🙂

    • Razvigor Andreev says:

      Also what is ‘scene’ in your didMoveToView method ?

  2. i tried to run the project and this error came up. HELP ME PLEZ

    • Razvigor Andreev says:

      You need to call setupLayers() first.
      When you call spawnHero() you are trying to add it to a layer that doesn’t exist yet.
      You just have the functions around.

  3. thank you it worked!