Я реализую приложение с регистрацией лицевой книги. Мне нужно получить доступ к «общедоступному профилю пользователя», а также «идентификатор электронной почты». Здесь требуется идентификатор электронной почты. я могу войти в систему, но после ввода данных для входа в нее отображается страница просмотра, на этой странице обзора отображается кнопка «Редактировать информацию, которую вы предоставляете», здесь я столкнулся с проблемой. у меня есть 2 сомнения здесь 1) можно ли отключить опцию «редактировать информацию, которую вы предоставляете» (или) 2) можно ли отключить взаимодействие пользователя для поля электронной почты, такого как общедоступный профиль. мой код ниже.Ошибка входа в Facebook в iOS с последним SDK
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self toggleHiddenState:YES];
self.lblLoginStatus.text = @"";
self.loginButton.delegate = self;
self.loginButton.readPermissions = @[@"public_profile",@"email"];
}
#pragma mark - Private method implementation
-(void)toggleHiddenState:(BOOL)shouldHide{
self.lblUsername.hidden = shouldHide;
self.lblEmail.hidden = shouldHide;
self.profilePicture.hidden = shouldHide;
}
#pragma mark - FBLoginView Delegate method implementation
-(void)loginViewShowingLoggedInUser:(FBLoginView *)loginView{
self.lblLoginStatus.text = @"You are logged in.";
[self toggleHiddenState:NO];
}
-(void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user{
NSLog(@"%@", user);
self.profilePicture.profileID = user.id;
self.lblUsername.text = user.name;
self.lblEmail.text = [user objectForKey:@"email"];
}
-(void)loginViewShowingLoggedOutUser:(FBLoginView *)loginView{
self.lblLoginStatus.text = @"You are logged out";
[self toggleHiddenState:YES];
}
-(void)loginView:(FBLoginView *)loginView handleError:(NSError *)error{
NSLog(@"%@", [error localizedDescription]);
}
вы можете это объяснить. как мы можем получить результат здесь. я делаю так. –
[FBSession openActiveSessionWithReadPermissions: @ [@ "public_profile", @ "электронная почта", "@"] user_friends allowLoginUI: ДА completionHandler: ^ (FBSession * сессия, FBSessionState состояние, NSError * ошибка) { // Получить приложение делегата AppDelegate * appDelegate = (AppDelegate *) [UIApplication sharedApplication] .delegate; [appDelegate sessionStateChanged: состояние сеанса: ошибка состояния: ошибка]; }]; –
Просто добавьте блок «FBRequestConnection» внутри вашего «openActiveSessionWithReadPermissions», а затем внутри блока «FBRequestConnection» отметьте «if (emailPermission) {// затем предоставлен доступ} else {// Показывает предупреждение и сообщает пользователю, что он должен дать разрешение на его адрес электронной почты} ' – trimi