0

В моем приложении я хочу делать фотографии с facebook. поэтому я использовал facebook ios sdk. я могу быть в состоянии разрешить, используя код:facebook login работает на симуляторе iphone, но не на устройстве iphone

if (appDelegate.session.isOpen) { 

      //[appDelegate.session closeAndClearTokenInformation]; 
      [self retrieveAlbums]; 

     } else { 
      if (appDelegate.session.state != FBSessionStateCreated) { 
       // Create a new, logged out session. 
       appDelegate.session = [[FBSession alloc] init]; 
      } 

      // if the session isn't open, let's open it now and present the login UX to the user 
      [appDelegate.session openWithCompletionHandler:^(FBSession *session, 
                  FBSessionState status, 
                  NSError *error) { 
       // and here we make sure to update our UX according to the new session state 
       //NSLog(@"%@",session.accessTokenData.accessToken); 
       [self retrieveAlbums]; 
      }]; 

Он отлично работает на iPhone симулятор. Но я не могу войти в систему на своем устройстве iphone 4. Когда я попытался войти в систему, он откроет сафари, а затем отобразит сообщение «Обновление». Затем он будет перенаправлен без авторизации. маркер доступа, полученный как ноль. Поэтому я не могу найти изображения.

Пожалуйста, помогите мне.

EDIT

Спасибо всем .Finally я решил мою проблему. Это связано с тем, что я включил режим песочницы в настройках учетной записи разработчика facebook. Когда я отключил режим песочницы, он работает нормально.

+0

Что версию IOS из iPhone4 –

+0

Ios версии 6.1.2 – manujmv

+0

Эй @manujmv, я имею подобную проблему. Отключение режима песочницы не означает, что эта проблема решена, потому что рано или поздно мы ее включим. –

ответ

1

Попробуйте очистить файлы cookie и кеш вашего сафари, выбрав Настройки. Также, если вы не хотите, чтобы приложение перенаправлялось в Safari, просто не предоставляйте URL-схему в вашем info.plist, что-то вроде «fb-AppId-», и он откроет всплывающее окно для входа в систему.

0

У меня было аналогичную проблему и решить ее, составив пару решений на этом веб-сайте. Прежде всего, я избавился от схемы URL на моем информационном plist. Итак, теперь мое приложение открывает диалоговое окно входа в facebook на моей странице регистрации. Это хорошо, потому что он не возвращается в сафари для аутентификации на facebook, и вы остаетесь внутри приложения. Вторая вещь, которую я сделал, заключается в создании механизма обработки ошибок внутри моего кода для входа в facebook. Поэтому, если логин с фреймворком выходит из строя, он использует другую стратегию для входа в систему.

Вот мой код.

- (void)loginView:(FBLoginView *)loginView handleError:(NSError *)error { 

     NSArray *permissions = [[NSArray alloc] initWithObjects: 
         @"public_profile", @"user_friends", @"email", 
         nil]; 
     FBSession *session = [[FBSession alloc] initWithPermissions:permissions]; 
     [FBSession setActiveSession:session]; 

     [self openSessionWithAllowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError *error) { 
     if (!error && status == FBSessionStateOpen) { 
      NSString *token = session.accessTokenData.accessToken; 
      NSLog(@"Logged in! - Token -- %@", token); 
     } else { 
      NSLog(@"Something wrong happened");//you can check the error code here 
     } 
    }]; 
    } 
Смежные вопросы