2015-10-10 3 views
4

Я использовал Facebook SDK от портала разработчиков Facebook и выполнил все шаги, которые были написаны, но во время входа через Facebook из моего приложения по умолчанию он использует Safari для процедуры входа в систему.Facebook через Safari, не используя установленное приложение

Почему он не использует установленное приложение для этой цели?

+0

Похоже, это дизайн в iOS9 [Facebook Вход - IOS 9 - Без Safari] (http://stackoverflow.com/questions/32620002/facebook-login-ios-9-without-safari) – user499846

ответ

3

Попробуйте это.

-(IBAction)CLK_ConnectWithFB:(id)sender 
{ 
    FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; 
// If the Facebook app is not installed on the device, falls back to \c FBSDKLoginBehaviorBrowser. This is the default behavior. 
    login.loginBehavior = FBSDKLoginBehaviorNative; 
    [login logInWithReadPermissions:@[@"email", @"user_friends",@"user_posts"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) 
    { 
     if (error) 
     { 
      // Process error 
      NSLog(@"error is :%@",error); 
     } 
     else if (result.isCancelled) 
     { 
      // Handle cancellations 
      NSLog(@"error is :%@",error); 
     } 
     else 
     { 
      if ([result.grantedPermissions containsObject:@"email"]) 
      { 
       [self fetchUserInfo]; 
       [login logOut]; 
      } 
     } 
    }]; 
} 

-(void)fetchUserInfo 
{ 
    if ([FBSDKAccessToken currentAccessToken]) 
    { 
     [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"id,name,link,first_name, last_name, picture.type(large), email, birthday, bio ,location ,friends ,hometown ,posts, friendlists"}] 
     startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 
      if (!error) 
      { 
       NSLog(@"result is :%@",result); 
       NSLog(@"friend is :%@",[[result valueForKey:@"friends"]objectForKey:@"data"]); 
       NSString *photostring=[[[result valueForKey:@"picture"] objectForKey:@"data"] valueForKey:@"url"]; 
       photostring = [photostring stringByReplacingOccurrencesOfString:@"&" withString:@"%26"]; 

       // [self Userlogin:[result valueForKey:@"email"] Username:[result valueForKey:@"name"] PhotoUrl:photostring LoginType:@"fb" Phoneno:@""]; 
      } 
     }];   
    } 
} 
+0

I использовали ваш код, но возникает другая проблема: я импортировал Facebook SDK в user/document, установил путь поиска пути к той же ссылке, добавляя фреймворк в ресурс, но все же он говорит «No Sdk found», пожалуйста, помогите –

+0

удалите facebook sdk в своем проекте, затем переустановите –

+0

Я сделал то же самое, удалил ссылку на Facebook SDK и снова сбросил sdk, используя двоичную ссылку, все еще имеющую ту же ошибку –

Смежные вопросы