iphone: диалоговое окно facebook появляется и сразу же исчезает с помощью sharekit

Я успешно интегрирую sharekit в свое приложение. Сначала я смог запустить и запустить facebook, войти в систему и опубликовать его, но проблема заключалась в том, что твиттер не мог опубликовать «не удалось пройти аутентификацию с помощью oauth», поэтому я добавил одну строку в shktwitter.m

// this is the error message for revoked access
        if ([errorMessage isEqualToString:@"Invalid / used nonce"] || [errorMessage isEqualToString:@"Could not authenticate with OAuth."])
        {
                self.pendingAction = SHKPendingShare;
            [self sendDidFailShouldRelogin];
        }

оттуда я смог публиковать сообщения из твиттера без проблем, и теперь основная причина этого сообщения заключалась в том, что проблема теперь в фейсбуке. Каждый раз, когда я нажимаю «Поделиться в Facebook», открывается диалоговое окно (весь белый экран с синей верхней панелью в качестве стиля facebook по умолчанию), он сразу же закрывается. Я очистил цели, перезапустил симулятор, перезапустил xcode, все, что я могу придумать, чтобы заставить его работать, как в первый раз, но все равно дает мне тот же результат. Я меняю только одну строку кода (упомянутую выше), но я предполагаю, что это никак не повлияет на диалоговое окно facebook, поскольку оно находится в diff. класс. Я искал вокруг, но все ответы, которые я нашел, не решают мою проблему. Там нет ошибок, и сборка всегда успешна. Я надеюсь найти ответы в ближайшее время. знак равно

несколько ссылок, которые я прочитал

https://github.com/ideashower/ShareKit/issues/207

https://github.com/ideashower/ShareKit/issues/234

https://github.com/dagerydoo/ShareKit

ОБНОВЛЕНИЕ Я добавил кнопку выхода и смог выйти из всех служб. Мне удалось открыть экран входа в систему facebook, но после входа в систему возникла та же проблема (диалоговое окно с синей полосой на белом экране и исчезновение через секунду), страница публикации не отображается.

Я также сделал так, как это делает dagerydoo, когда он открывает сафари вместо диалогового окна в приложении, которое я смог войти и «разрешить», и та же проблема, здесь белый экран с всплывающим сообщением об ошибке «сафари не может открыть страницу, потому что адрес недействителен», я посмотрел на адрес, это «facebook.com/dialog/permissions.request»... я подумал, что это может быть проблемой, которая вызывает белый экран как в диалоговом окне в приложении, так и в сафари, где он будет быть белым экраном при запросе публикации страницы


person merrill    schedule 11.10.2011    source источник


Ответы (2)


Решено! После многих попыток решить эту проблему с помощью методов и предложений других людей, и все они потерпели неудачу, я решил начать заново с исходным набором акций и обнаружил, что удалил общее предупреждение «класс« fbxmlhandler »не реализует протокол« NSXMLParserDelegate »». что вызывает эту проблему. Я также добавил протокол NSXMLParserDelegate в FBXMLHandler.h, который избавляет от предупреждения, ошибок и все работает так, как должно быть.

person merrill    schedule 11.10.2011
comment
У меня такая же проблема, поясните пожалуйста? - person zambono; 19.12.2011

У меня было такое же поведение - ShareKit открывает FB для аутентификации, а затем FB просто переходит к ленте новостей или чему-то еще после краткого отображения белого диалогового окна. Я считаю, что в моем случае я уже вошел в систему, и FB пытался отправить меня обратно в мое приложение, аутентифицированное. Проблема заключалась в том, что «схема URL» работала неправильно и открывала мое приложение. У меня было несколько версий моего приложения, установленных на устройстве (текущая версия, версия для продажи, версия для разработчиков и т. д.). Все они зарегистрировали одну и ту же схему URL-адресов. Я разрабатывал с «специальной» конфигурацией сборки отдельно от конфигурации сборки релиза. Я не исправил проблему со специальной сборкой, но конфигурация релиза работает. Этого достаточно, чтобы снова приступить к работе, поэтому я пока опускаю этот вопрос. ПОМОЩЬ.

person Tyler Daniel    schedule 15.01.2013