Sharekit 2, проблемы с подключением к Facebook после аутентификации пользователя? - PullRequest
13 голосов
/ 13 января 2012

Sharekit открывает Safari для получения аутентификации от пользователя, что нормально (не уверен, должен ли он открывать Safari или в своем собственном окне). Появится страница с сообщением о том, что вы аутентифицировали app.x. Нажмите кнопку «ОК», чтобы продолжить, после нажатия кнопки «Продолжить» она пытается перенаправить на www.facebook.com/permissions.request, но затем выдает ошибку:

'Невозможно открыть страницу, Safari не может открыть эту страницу, поскольку адрес недействителен.'

Любые идеи, что может происходить здесь, я предполагаю, что он должен быть перенаправлен на мое приложение?!

Ответы [ 2 ]

20 голосов
/ 01 февраля 2012

Вот мое решение этой проблемы (я предполагаю, что вы используете ShareKit 2.0):

Я настроил ShareKit, следуя инструкциям, которые они предоставляют Руководство по настройке ShareKit .Другими словами, я создал подкласс класса DefaultSHKConfigurator и добавил туда всю необходимую конфигурацию.

В моем делегате приложения я связал класс конфигурации с ShareKit следующим образом:

DefaultSHKConfigurator *configurator = [[MYSHKConfigurator alloc] init];
[SHKConfiguration sharedInstanceWithConfigurator:configurator];

И удалил информацию о конфигурации из SHKConfig.h.Я не знаю, почему, но это сработало.

  • примечание: вы также можете обойтись без подклассов и ввода информации о конфигурации непосредственно внутри DefaultSHKConfigurator.m, если вы не заинтересованы в обновлении ShareKit;

Если вы хотите, чтобы экран Facebook загружался внутри приложения, а не в Safari, вы можете зайти в файл Facebook.m и изменить safariAuth: с YES на NO:

[self authorizeWithFBAppAuth:YES safariAuth:NO]; 
2 голосов
/ 04 июля 2012

Та же проблема здесь, когда я останавливаюсь после завершения шага 5 в https://github.com/ShareKit/ShareKit/wiki/Installing-sharekit.

Всегда есть «safari не может открыть страницу, потому что адрес недействителен»,

Наконец, проблема решена путем выполнения всех шагов (от 1 до 7)

Не изменили оператор [self authorizeWithFBAppAuth: YES safariAuth: YES];

...