Самый простой способ исправить это - сохранить ваш params
в иваре.Затем, когда FBConnect вызывает вашего делегата с помощью fbDidLogin
, вы можете автоматически повторно выполнить вызов dialog:andParams:andDelegate
.
Более длинное и правильное решение заключается в том, что вам необходимо разделить этапы авторизации и публикации.Вы можете сохранить fb.accessToken
и дату истечения срока действия в NSUserDefaults, а затем вызывать их при первой попытке доступа к FBConnect.Если срок действия истек, вы звоните по номеру authorize:delegate
, чтобы получить новый ключ доступа.Как только fbLogin будет завершен, вы отправляете диалоговое окно пользователю, чтобы продолжить.
В качестве альтернативы, вы не можете заново изобрести колесо и проверить ShareKit http://getsharekit.com/ для более полного решения.