2013-11-14 8 views
0

Итак, я использую SLRequest для Facebook в своем приложении. Вопрос кажется относительно простым, и я частично знаю, что не так, но не могу найти исправление через несколько часов поиска.Регистрация между двумя учетными записями Facebook с использованием ACAccountStore IOS

-Перейдите в Facebook только через настройки устройства, никогда не находясь в моем приложении.

- Приложение имеет всплывающее окно, чтобы разрешить публикацию и работает так, как планировалось.

-И выйдите из Facebook в настройках и войдите в другой аккаунт Facebook, и вот где проблема. Он никогда не будет передан в приложении (код ниже) при входе в систему со второй учетной записью.

- Я могу войти в систему с первой учетной записью в настройках, и приложение продолжает отправлять сообщения так же хорошо, как и предполагалось.

-Вы знаете, что в магазине может быть только 1 учетная запись FB, наверняка должно быть что-то, чтобы ее сбросить, чтобы приложение могло отправлять сообщения из учетной записи, отличной от начальной, которую я использовал?

Любая помощь будет воспринята.

- (void)shareSessionToFacebook { 
     // Specify App ID and permissions 
     NSDictionary *options = @{ACFacebookAppIdKey: @“XXXXXXXXXXXXX”, 
     ACFacebookPermissionsKey: @[@"email", @"publish_stream", @"publish_actions"], 
     ACFacebookAudienceKey: ACFacebookAudienceFriends}; 
     accountStore = [[ACAccountStore alloc]init]; 
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook]; 
[accountStore requestAccessToAccountsWithType:accountType options:options completion:^(BOOL granted, NSError *error) { 
     if (granted) { 

ответ

0

Я наткнулся на свой ответ. Что касается ведения журнала, используя только меню настроек устройства, как я делаю, при первом входе в систему вы должны запросить электронное письмо (или одно из нескольких других) ALONE при первом вызове, после чего вы можете запросить разрешения varios publish_. .....

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

//INITIAL LOGIN START// 
NSDictionary *optionsX = @{ 
          ACFacebookAppIdKey: @"XXXXXXXXXXXXXX", 
          ACFacebookPermissionsKey: @[@"email"], 
          ACFacebookAudienceKey: ACFacebookAudienceFriends 
          }; 
ACAccountStore *accountStoreX = [[ACAccountStore alloc]init]; 
ACAccountType *accountTypeX = [accountStoreX accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook]; 
[accountStoreX requestAccessToAccountsWithType:accountTypeX options:optionsX completion:^(BOOL granted, NSError *error) { 
    if (granted) { 
     NSLog(@"ALPHA GRANTED!!!!"); 
    } else { 
     NSLog(@"ALPHA NOT GRANTED"); 
    } 
}]; 
//INITIAL LOGIN END// 
0

вы можете получить доступные счета сначала попробовать это для твиттере вы можете получить несколько учетных записей, но лицо книги только один счет


[account requestAccessToAccountsWithType:accountType withCompletionHandler:^(BOOL granted, NSError *error) 
    { 
    if (granted == YES) 
    { 
    // Populate array with all available accounts only for twitter accounts not for Facebook 
     NSArray *arrayOfAccounts = [account accountsWithAccountType:accountType]; //type of twitter as your case and you will get all the availble twitter accounts 
     if ([arrayOfAccounts count] > 0) 
     { 
      //use the first account available 
      ACAccount *acct = [arrayOfAccounts objectAtIndex:0]; //select the account based on the array index 


надеюсь, что это помогает U ..)

+0

Привет Shan спасибо за время, потраченное ответить. Моя проблема заключается в том, что всякий раз, когда я вхожу в учетную запись, отличную от той, которую я впервые использовал с моим приложением, она ВСЕГДА возвращает 0 учетных записей, если я вернусь обратно в исходную учетную запись, она вернет учетную запись FB и будет работать как ожидалось. Я предполагаю, что есть некоторые настройки по умолчанию, настройки или разрешения, которые мне нужно очистить, однако ни один из примеров, которые я нашел, не работает. (снова я обрабатываю все записи через настройки устройства для Facebook, а не в моем приложении) Приветствия. – Narsil

+0

Извините, как в IOS, мы можем установить только одну учетную запись для учетной записи Facebook не так много, возможно, это проблема, с которой вы столкнулись. –

+0

Да, сэр, вы правы, насколько я понимаю, просто кажется, что должно быть что-то, чтобы позволить пользователю убить одного, и получить доступ к другому, пока все еще используете только один, конечно. :) .. О, хорошо, спасибо! – Narsil

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