Strava integration in iOS


Strava is a website and  mobile app used to track athletic activity via GPS. Its headquarters are located in California. The most popular activities tracked using the software are  Cycling and running.

If we are developing a health based application , sometimes we need to fetch data from Strava for analysis .In this tutorial , we will show you how to fetch data from Strava.

Strava provide full API to fetch data from their server . for more detail https://strava.github.io/api/v3/oauth/ .

  1. Strava API work with Oauth 2.0 , go through https://www.strava.com/login and register your app and get ClientId , Client Secret .
  2. Download OAuth library from  https://github.com/OAuthSwift/OAuthSwift
  3. Download demo STRAVA app from https://github.com/msyshani/StravaDemo-for-iOS

 

Thanks

Enjoy coding

 

 


		
Advertisements

Touch ID Authentication in iOS App


Step 1: Add Local Authentication framework to you Application

Step 2: Import

#import <LocalAuthentication/LocalAuthentication.h> in your class

Step 3: Write code for Touch Authentication.

– (IBAction)MakeTouchIdAthentication:(id)sender {

    LAContext *context = [[LAContext alloc] init];

    

    NSError *error = nil;

    if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {

        [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics

                localizedReason:@”Aunthenticate with Touch ID”

                          reply:^(BOOL success, NSError *error) {

                              

                              if (error) {

                                  UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@”Error”

                                                                                  message:@”Oppps , Some error in Athenticationg.”

                                                                                 delegate:nil

                                                                        cancelButtonTitle:@”Ok”

                                                                        otherButtonTitles:nil];

                                  [alert show];

                                  return;

                              }

                              

                              if (success) {

                                  UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@”Success”

                                                                                  message:@”Successful Athentication.”

                                                                                 delegate:nil

                                                                        cancelButtonTitle:@”Ok”

                                                                        otherButtonTitles:nil];

                                  [alert show];

                                  

                              } else {

                                  UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@”Error”

                                                                                  message:@”You are not the device owner.”

                                                                                 delegate:nil

                                                                        cancelButtonTitle:@”Ok”

                                                                        otherButtonTitles:nil];

                                  [alert show];

                              }

                              

                          }];

        

    } else {

        

        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@”Error”

                                                        message:@”Your device cannot authenticate using TouchID.”

                                                       delegate:nil

                                              cancelButtonTitle:@”Ok”

                                              otherButtonTitles:nil];

        [alert show];

        

    }

}

Step 4. Call this function from UIButton.

iOS Simulator Screen Shot May 14, 2015, 4.59.42 PM

Best Of Luck

Sunny Singh

Lineage Technology

Skype: lineagetechnology

Twitter: lineageApps

Facebook: https://www.facebook.com/Lineagetechnology