Parseでfacebookログインしてみる。x-Code,objective-c編②
Parseでfacebookログインしてみる。x-Code,objective-c編第2弾です。
前回のFrameworkや設定の話はこちら。
Parseでfacebookログインしてみる。x-Code,objective-c編①
x-codeで書いていきましょう。
xcodeでごりごり
まずはParseとFacebookの下準備が必要ですのでAppDelegateに書いていきます。
#import <Parse/Parse.h> #import <FBSDKCoreKit/FBSDKCoreKit.h> #import <FBSDKLoginKit/FBSDKLoginKit.h> #import <PFFacebookUtils.h> - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [Parse enableLocalDatastore]; [Parse setApplicationId:@"your parse id" clientKey:@"your parse key"]; [PFAnalytics trackAppOpenedWithLaunchOptions:launchOptions]; [PFFacebookUtils initializeFacebookWithApplicationLaunchOptions:launchOptions]; [FBSDKLoginButton class]; return [[FBSDKApplicationDelegate sharedInstance]application:application didFinishLaunchingWithOptions:launchOptions]; } -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{ return [[FBSDKApplicationDelegate sharedInstance]application:application openURL:url sourceApplication:sourceApplication annotation:annotation]; } - (void)applicationDidBecomeActive:(UIApplication *)application { [FBSDKAppEvents activateApp]; }
で次にView controllerか何かにログインの設定を書いていきましょう。
//ViewController.h #import <FBSDKLoginKit/FBSDKLoginKit.h> #import <FBSDKCoreKit/FBSDKCoreKit.h> #import <Parse/Parse.h> #import <PFFacebookUtils.h> #import "signUpAndLogInController.h" #import <ParseUI/ParseUI.h>
viewController.m - (void)viewDidLoad { [super viewDidLoad]; FBSDKLoginManager *login = [[FBSDKLoginManager alloc]init]; [signUpAndLogInController signUpAndLoginWithFacebook:login]; }
別でsignUpAndLogInControllerを作ってもらって
signUpAndLogInController.h #import <UIKit/UIKit.h> #import <FBSDKLoginKit/FBSDKLoginKit.h> #import <FBSDKCoreKit/FBSDKCoreKit.h> #import <Parse/Parse.h> #import <PFFacebookUtils.h> @interface signUpAndLogInController : NSObject +(void)signUpAndLoginWithFacebook:(FBSDKLoginManager *)loginManager; @end
signUpAndLogInController.m +(void)signUpAndLoginWithFacebook:(FBSDKLoginManager *)loginManager{ [PFFacebookUtils logInInBackgroundWithReadPermissions:@[@"public_profile",@"user_friends"] block:^(PFUser *user,NSError *error){ if(!user){ NSLog(@"error%@",error); }else if (user.isNew){ NSLog(@"signup with facebook"); }else{ NSLog(@"success login with facebook"); } }]; }
とこんな風に書いてもらえるとParse側で新規ユーザーならサインアップ、ユーザーがいればログインといった形にしてくれます。
Parse側を見てみるとこんな感じでUserが増えていることがわかります。
ご指摘、ご質問はツイッターにお願いします。