2013-04-19 3 views
0

Прямо сейчас я использую Facebook SDK, чтобы разделить сообщения из моего приложения. Проблема в том, что этот sdk открывает веб-просмотр внутри моего приложения и просит пользователя войти в систему. Должен быть лучший способ.Поделиться через Facebook Приложение

Могу ли я отправить информацию об общем доступе в приложение facebook на устройстве пользователя (если они установлены)? Или, по крайней мере, использовать приложение facebook для проверки учетных данных? Если люди должны войти, чтобы поделиться, они, вероятно, этого не сделают.

ответ

2

Последние Facebook SDK 3.5 включает в себя диалоговое окно с общим доступом. Если вы выполните рабочий процесс аутентификации в соответствии с documentation, а телефон находится на iOS 6.0, вы не должны получать UIWebView во время аутентификации, вместо этого вы получите UIAlertView.

1

Процесс входа в Facebook будет использовать WebView только в нескольких случаях. Некоторые из них:
1) Вы просите его сделать это явно, используя - (void)openWithBehavior:(FBSessionLoginBehavior)behavior completionHandler:(FBSessionStateHandler)handler;, который, я думаю, не ваш случай.
2) Если на устройстве не установлено приложение Facebook, FB SDK возвращается к окну входа в WebView.
3) Возможно, это ваш случай. Если вы запрашиваете разрешения на публикацию при первой попытке открыть сеанс FB, FB SDK также вернется к старому логическому потоку, охватывающему WebView. В новом потоке входа предполагается, что сеанс FB должен быть открыт с разрешениями на чтение (в этом случае FB будет использовать быстрое переключение приложений или собственный вход iOS FB):
+ (BOOL)openActiveSessionWithReadPermissions:(NSArray*)readPermissions allowLoginUI:(BOOL)allowLoginUI completionHandler:(FBSessionStateHandler)handler;
Затем вы должны спросить о дополнительных разрешениях на публикацию user:
- (void)requestNewPublishPermissions:(NSArray*)writePermissions defaultAudience:(FBSessionDefaultAudience)defaultAudience completionHandler:(FBSessionRequestPermissionResultHandler)handler;
Таким образом, пользователю не нужно будет входить в систему (если он уже зарегистрирован в приложении FB), но будет неудобно двойное переключение с вашего приложения на FB (хотя в последнее время оно работает довольно быстро).

Я искал более чистый способ получить разрешения на публикацию с помощью FB Single Sign On при первом вызове, но, к сожалению, пока не нашел ничего работающего.

Смежные вопросы