Facebook SSO не входит в систему (isSessionValid все время возвращает NO) - PullRequest
0 голосов
/ 25 марта 2012

Я использую Facebook Connect с моим приложением.Все настроено, весь код работает.Примерно вчера я мог войти в систему с моим приложением, а затем публиковать вещи и другие функции.Я не помню, чтобы какие-либо реальные изменения.Теперь, как обычно, всякий раз, когда я нажимаю на кнопку «Войти», она переходит на страницу Safari, где я должен подтвердить, что хочу использовать это приложение, и там говорится, с кем я вхожу.Если я нажимаю ОК, он возвращается к приложению.В течение всего этого процесса, в приложении, Facebook никогда не входит в систему.Вот как начинается соединение:

-(IBAction)connectToFacebook {

  [loginButton setImage:[UIImage imageNamed:@"LoginWithFacebookPressed@2x.png"]  forState:UIControlStateNormal];
  facebook = [[Facebook alloc] initWithAppId:@"387500177929927" andDelegate:self];
  NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
  if ([defaults objectForKey:@"FBAccessTokenKey"] && [defaults   objectForKey:@"FBExpirationDateKey"]) {
    facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
    facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
  }

  if (![facebook isSessionValid]) {
    [facebook authorize:nil];
  }    
  NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self  selector:@selector(makeVisibleButtons) userInfo:nil repeats:NO];
  [timer setAccessibilityHint:@"timer"];
}

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  // JUST SO THAT HANDLE URL CAN GET CALLED

 return YES;


}

Итак, я нажимаю кнопку, чтобы вызвать этот IBAction.NSTimer не имеет отношения, он просто для появления некоторых кнопок.Теперь эти два метода никогда не вызываются (когда я его регистрирую):

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { 
  ConnectToFB *connect = [[ConnectToFB alloc] init];
  return [connect.facebook handleOpenURL:url]; 
  NSLog(@"url");
  [connect release];
}

- (void)fbDidLogin {

  NSLog(@"log in");

  NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
  [defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
  [defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
  [defaults synchronize];    
}

Идентификатор приложения обновлен, и мои схемы URL в info plist также актуальны.В чем здесь проблема?

1 Ответ

3 голосов
/ 25 марта 2012

См. Здесь [введите описание ссылки] [1]

[1]: Поток ссылочной истории с использованием единого входа в Facebook - openURL не вызывается .

Возможно, у вас нет экземпляра Facebook в AppDelegate

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...