Я пытаюсь найти всех друзей на Facebook, которые используют мое приложение. Это мой код:
FBRequest* friendsRequest = [FBRequest requestForMyFriends];
[friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,
NSDictionary* result,
NSError *error) {
NSArray* friends = [result objectForKey:@"data"];
NSLog(@"Found: %i friends", friends.count);
_fbIDsArray = NSMutableArray.array;
for (NSDictionary<FBGraphUser>* friend in friends) {
NSLog(@"I have a friend named %@ with id %@", friend.name, friend.objectID);
[_fbIDsArray addObject:friend.objectID];
}
Когда я работаю с тестовым пользователем Facebook, он возвращает друзей, но когда я пытаюсь найти друзей с реальной учетной записью, он возвращает ноль. Статус приложения на Facebook общедоступен. Я использую Facebook SDK 3.20
ОБНОВИТЬ
Это сработало для меня
FBLoginView * loginView = [[FBLoginView alloc] initWithReadPermissions:@[@"public_profile", @"email", @"user_friends"]];
loginView.delegate = self;
NSArray *permissions = @[@"public_profile", @"email", @"user_friends"];
[FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
[[FBRequest requestForMe] startWithCompletionHandler:
^(FBRequestConnection *connection,
NSDictionary<FBGraphUser> *user,
NSError *error)
}];
}];