diff --git a/Example/PNObject/PNObjectViewController.m b/Example/PNObject/PNObjectViewController.m index e52256b..f4d10b3 100644 --- a/Example/PNObject/PNObjectViewController.m +++ b/Example/PNObject/PNObjectViewController.m @@ -62,6 +62,8 @@ [self.view addSubview:_cancelToken]; + User * user = [User currentUser]; + [self.view setNeedsUpdateConstraints]; } @@ -102,17 +104,17 @@ /*User *user = [User currentUser]; - [user setFirstName:@"Giuseppe"]; - [user setLastName:@"Nuficora"]; - [user setEmail:@"packman@giuseppenucifora.com"]; - [user setPassword:@"asdasdasd"]; - [user setConfirmPassword:@"asdasdasd"]; - [user setHasAcceptedNewsletter:NO]; - [user setHasAcceptedPrivacy:YES]; + [user setFirstName:@"Giuseppe"]; + [user setLastName:@"Nuficora"]; + [user setEmail:@"packman@giuseppenucifora.com"]; + [user setPassword:@"asdasdasd"]; + [user setConfirmPassword:@"asdasdasd"]; + [user setHasAcceptedNewsletter:NO]; + [user setHasAcceptedPrivacy:YES]; - [user saveLocally]; + [user saveLocally]; - [user reloadFormServer];*/ + [user reloadFormServer];*/ /*[[User currentUser] socialLoginWithBlockSuccessFromViewController:self blockSuccess:^(PNUser * _Nullable responseObject) { @@ -121,12 +123,17 @@ }];*/ - [[PNUser currentUser] loginCurrentUserWithEmail:@"packman@giuseppenucifora.com" password:@"asdasdasd" withBlockSuccess:^(PNUser * _Nullable responseObject) { + User * user = [User currentUser]; - NSLog(@"response : %@",responseObject); - } failure:^(NSError * _Nonnull error) { - NSLog(@"response : %@",error); - }]; + if ([user isAuthenticated]) { + + [user loginCurrentUserWithEmail:@"packman@giuseppenucifora.com" password:@"asdasdasd" withBlockSuccess:^(PNUser * _Nullable responseObject) { + + NSLog(@"response : %@",responseObject); + } failure:^(NSError * _Nonnull error) { + NSLog(@"response : %@",error); + }]; + } } - (void)didReceiveMemoryWarning diff --git a/PNObject.podspec b/PNObject.podspec index 9b537af..7ead97b 100644 --- a/PNObject.podspec +++ b/PNObject.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = "PNObject" -s.version = "0.3.6" +s.version = "0.3.7" s.summary = "PNObject is a simple replica of the more complex ParseObject" # This description is used to generate tags and improve search results. diff --git a/Pod/Classes/PNClasses/PNUser.h b/Pod/Classes/PNClasses/PNUser.h index 8e69be0..6c15dda 100644 --- a/Pod/Classes/PNClasses/PNUser.h +++ b/Pod/Classes/PNClasses/PNUser.h @@ -96,7 +96,7 @@ * * @return <#return value description#> */ -- (BOOL) autenticated; +- (BOOL) isAuthenticated; //- (void) setPassword:(NSString * _Nonnull)password inBackGroundWithBlock:(nullable void (^)(BOOL saveStatus, id responseObject, NSError * error)) responseBlock; diff --git a/Pod/Classes/PNClasses/PNUser.m b/Pod/Classes/PNClasses/PNUser.m index 2f314af..7fd49c0 100644 --- a/Pod/Classes/PNClasses/PNUser.m +++ b/Pod/Classes/PNClasses/PNUser.m @@ -19,6 +19,8 @@ @interface PNUser() +@property (nonatomic) BOOL authenticated; + @end @implementation PNUser @@ -79,6 +81,10 @@ static bool isFirstAccess = YES; } if (SINGLETON) { + + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + [self autoLogin]; + }); } return SINGLETON; } @@ -293,10 +299,15 @@ static bool isFirstAccess = YES; failure:(nullable void (^)(NSError * _Nonnull error))failure { [[PNObjectConfig sharedInstance] refreshTokenForUserWithEmail:email password:password withBlockSuccess:^(BOOL refreshSuccess) { - if (refreshSuccess) { + [self setAuthenticated:YES]; + [self setEmail:email]; + [self setPassword:password]; + [self setConfirmPassword:password]; + [self saveLocally]; + if (success) { - success([PNUser currentUser]); + success(self); } } } failure:failure]; @@ -330,6 +341,7 @@ static bool isFirstAccess = YES; @"facebookAccessToken":@"facebookAccessToken", @"isFacebookUser":@"isFacebookUser", @"registeredAt":@"registeredAt", + @"authenticated":@"authenticated" }; return mapping; } diff --git a/Pod/Classes/PNObjectConfig.m b/Pod/Classes/PNObjectConfig.m index e5b9a62..d175b69 100644 --- a/Pod/Classes/PNObjectConfig.m +++ b/Pod/Classes/PNObjectConfig.m @@ -293,14 +293,7 @@ static bool isFirstAccess = YES; [AFOAuthCredential storeCredential:_currentOauthCredential withIdentifier:PNObjectServiceCredentialIdentifier]; [_manager.requestSerializer setAuthorizationHeaderFieldWithCredential:_currentOauthCredential]; - PNUser *user = [PNUser currentUser]; - - [user setEmail:email]; - [user setPassword:password]; - [user setConfirmPassword:password]; - - [user saveLocally]; - + if (success) { success(YES); }