Iphone facebook подключить пример звонков сафари.Я не хочу использовать сафари - PullRequest
12 голосов
/ 21 декабря 2010

Iphone facebook подключиться пример звонков сафари.Я не хочу использовать сафари.Как решить эту проблему.

Ответы [ 9 ]

14 голосов
/ 21 декабря 2010

Я не уверен, что это кошерное, но я закомментировал строки 131-145 в Facebook.m, чтобы открыть UIWebView вместо того, чтобы открывать экран входа в Safari.Кажется, работает хорошо для меня ...

6 голосов
/ 08 февраля 2011

Предложение Донкима, приведенное выше, хорошо сработало для меня, используя фиксацию SDK от 31.01.2011Другой вариант - искать каждый вызов «authorizeWithFBAppAuth: safariAuth:» в Facebook.m.Вы можете изменить второй аргумент с YES на NO в строках 221, 267 и 274.

2 голосов
/ 21 декабря 2010

Если у пользователя есть приложение Facebook для iphone, оно не будет открывать сафари. Откроется приложение Facebook

.
2 голосов
/ 21 декабря 2010

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

Так что я предлагаю вам оставить это так!

Я согласен, что весь процесс должен быть немного улучшен и, по крайней мере, не открывать новую вкладку сафари при каждом подключении! Patience ...

1 голос
/ 19 апреля 2011

Установить safariAuth: NO on [self authorizeWithFBAppAuth: YES safariAuth: NO]; (Facebook.m: 221) * * тысяча одна

1 голос
/ 27 марта 2011

Проблема всех этих решений в том, что вы теряете постоянный токен auth_token.Так что, если вам нужно выполнить запросы графа вручную позже в своем коде, передав auth_token в URL, вы просто не сможете.

0 голосов
/ 30 апреля 2013
Change following method as follows in facebook.m

- (void)authorize:(NSArray *)permissions
             delegate:(id<FBSessionDelegate>)delegate {

      [_permissions release];
      _permissions = [permissions retain];

      _sessionDelegate = delegate;

      [self authorizeWithFBAppAuth:NO safariAuth:NO];
       // [self authorizeWithFBAppAuth:NO safariAuth:YES];
    }
0 голосов
/ 28 мая 2012

Файл: Facebook.m |Начинается с: строка № 220 authorizeWithFBAppAuth:safariAuth: |Добавьте логическое значение trySafariAuth = NO; в строку # 223

  /**
   * A private function for opening the authorization dialog.
   */    
   - (void)authorizeWithFBAppAuth:(BOOL)tryFBAppAuth
                        safariAuth:(BOOL)trySafariAuth {

        trySafariAuth = NO;
        // more code allow blow this, but im too lazy to show it
        // so please just change the boolean...
    }
0 голосов
/ 17 мая 2012

Для тех, кто использует более новый Facebook iOS SDK (не уверен, какая версия добавила его), вы можете использовать метод dialog:@"oauth" ... ( doc ). Как уже говорили другие, вы отказываетесь от единого входа, но для случаев использования, таких как мой (игра OpenGL), я считаю, что наложение предпочтительнее, чем переключение на другое приложение.

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