Проверьте разрешения Facebook на iOS - PullRequest
2 голосов
/ 29 февраля 2012

Я видел это сообщение , в котором описывается, как использовать график api для проверки прав пользователя, однако я не уверен, как на самом деле проверить конкретное разрешение.

Вызов [facebook requestWithGraphPath:@"me/permissions" andDelegate:self]; вызывает метод делегата - (void)request:(FBRequest *)request didLoad:(id)result но как лучше всего обработать ответ?У меня уже есть два блока в этом делегате, которые обрабатывают другие типы запросов, в частности путем вызова if ([result isKindOfClass:[NSArray class]]) и if ([result isKindOfClass:[NSDictionary class]]). Предположительно, FBRequest для разрешений также является массивом, так как я могу отличить его от других массивов FBRequest?И когда у меня есть массив, как я могу проверить конкретное разрешение - в моем случае publish_stream.

Кроме того, это самый быстрый способ сделать это?Я хочу проверить, активно ли это разрешение, и если нет, предложить пользователю снова войти в систему.В настоящее время я проверяю, нуждается ли сеанс в проверке, вызывая if (![facebook isSessionValid]), чтобы я мог изменить его на что-то вроде if (![facebook isSessionValid] || ![self checkPermissions], но для этого потребовался бы полный запрос запроса.

1 Ответ

2 голосов
/ 29 февраля 2012
  1. Для первого вопроса попробуйте использовать другой делегат только для этой цели (то есть создайте класс, который реализует FBRequestDelegateprotocol и реализует требуемый метод запроса) и передайте этот делегат вызову запроса графа.

  2. Вы можете попробовать выполнить итерацию массива и найти соответствие требуемым разрешениям.

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