Я пытаюсь получить список друзей FaceBook и отобразить его в пользовательском представлении, например «приложение foresqure».
что я имею в виду, «foursquare» запрашивают разрешение и размещают сообщения на вашей стене внутри приложения, не выходя из приложения в браузер или в приложение Facebook? после этого приложение получает всех друзей и отображает их в пользовательском tableView.
вот что я пробовал:
if (!FBSession.activeSession.isOpen) {
// if the session is closed, then we open it here, and establish a handler for state changes
[FBSession openActiveSessionWithReadPermissions:@[@"public_profile", @"user_friends"]
allowLoginUI:YES
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
if (error) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error"
message:error.localizedDescription
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
} else if (session.isOpen) {
//[self pickFriendsButtonClick:sender];
NSLog(@"aaaa");
FBRequest* friendsRequest = [FBRequest requestForMyFriends];
[friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,
NSDictionary* result,
NSError *error) {
NSArray* friends = [result objectForKey:@"data"];
NSLog(@"Found: %i friends", friends.count);
for (NSDictionary<FBGraphUser>* friend in friends) {
NSLog(@"I have a friend named %@ with id %@", friend.name, friend.id);
}
}];
}
}];
}
В этом случае он откроет сафари, чтобы запросить разрешение не внутри приложения, а массив друзей допускает nill или count = 0.