Add the linkedin sdk(this). Then on login button click, use the following code.
Dont forget to add the linkedin app id on info.plist file.
  [LISDKSessionManager createSessionWithAuth:[NSArray arrayWithObjects:LISDK_BASIC_PROFILE_PERMISSION, LISDK_EMAILADDRESS_PERMISSION, nil]
                                         state:@"some state"
                        showGoToAppStoreDialog:YES
                                  successBlock:^(NSString *returnState) {
                                      
                                      NSLog(@"%s","success called!");
                                      LISDKSession *session = [[LISDKSessionManager sharedInstance] session];
                                      NSLog(@"value=%@ isvalid=%@",[session value],[session isValid] ? @"YES" : @"NO");
                                      NSMutableString *text = [[NSMutableString alloc] initWithString:[session.accessToken description]];
                                      [text appendString:[NSString stringWithFormat:@",state=\"%@\"",returnState]];
                                      NSLog(@"Response label text %@",text);
                                     // NSString *session1 = text;
                                      self.lastError = nil;
                                      // retain cycle here?
                                    
                                      [[LISDKAPIHelper sharedInstance] apiRequest:@"https://www.linkedin.com/v1/people/~:(id,first-name,last-name,maiden-name,email-address,formatted-name,picture-url)"
                                                                           method:@"GET"
                                                                             body:[@"" dataUsingEncoding:NSUTF8StringEncoding]
                                                                          success:^(LISDKAPIResponse *response) {
                                   NSLog(@"success called %@", response.data);
                                                                              
                                      
                                    NSError *jsonError;
                                    NSData *objectData = [response.data dataUsingEncoding:NSUTF8StringEncoding];
                                    NSDictionary *json = [NSJSONSerialization JSONObjectWithData:objectData
                                                                                                                                   options:NSJSONReadingMutableContainers 
                                                                                                                                     error:&jsonError];
                                                                              
                                                                              
                                                                          }
                                                                            error:^(LISDKAPIError *apiError) {
                                                                                NSLog(@"error called %@", apiError.description);
                                                                                
                                                                                
                                                                            }];
                                      
                                  }
                                    errorBlock:^(NSError *error) {
                                        NSLog(@"%s %@","error called! ", [error description]);
                                        self.lastError = error;
                                       
                                    }
     ];
    NSLog(@"%s","sync pressed3");
 
