У меня была такая же проблема. Я проверил мои настройки конфиденциальности, разрешения, другой метод и т. Д., Но я не мог решить это.
На многих сайтах сказано «проверьте разрешение на доступ к offline_access / read_stream / publish_stream», я думаю, что это тоже важно, но я не смог это исправить.
Тогда я наконец нашел следующее решение, оно прекрасно работает.
Вы должны изменить "safariAuth: YES" на "safariAuth: NO" в файле "Facebook.m".
- (void)authorize:(NSArray *)permissions
delegate:(id<FBSessionDelegate>)delegate {
[_permissions release];
_permissions = [permissions retain];
_sessionDelegate = delegate;
//[self authorizeWithFBAppAuth:YES safariAuth:YES];
//You can get auth_token in iOS App!
[self authorizeWithFBAppAuth:YES safariAuth:NO];
}
Затем вы можете использовать следующий метод, чтобы получить собственную информацию, если вы вошли в систему.
[facebook requestWithGraphPath:@"me" andDelegate:self];
если вы не вошли в систему, вы должны войти в систему, используя следующий метод.
permissions = [[NSArray arrayWithObjects:
@"email", @"read_stream", @"user_birthday",
@"user_about_me", @"publish_stream", @"offline_access", nil] retain];
if (![facebook isSessionValid]) {
[facebook authorize:permissions delegate:self];
}
Следующая запись спасла меня. Большое вам спасибо!
Как получить ответ Facebook с помощью Facebook iOS SDK
Удачи и счастливого кодирования!
Спасибо.