Подключение / публикация в Facebook с FBConnect Работает на симуляторе, но не на iPhone - PullRequest
1 голос
/ 31 мая 2011

Я реализовал FBConnect в своем приложении для iPhone, и он отлично работает на симуляторе (v4.3). Однако, когда я тестирую тот же код на моем iPhone (v4.3.3), кажется, что моя кнопка Facebook теперь выходит из моего приложения и открывает приложение Facebook. Приложение Facebook отображает страницу с сообщением о том, что я уже авторизовал свое приложение, и для продолжения нажмите «Хорошо». Сначала я не думал, что это обязательно указывает на проблему, но когда я нажимаю кнопку «ОК», я просто возвращаюсь в свой appViewController, где я вначале нажимал на кнопку Facebook.

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

Я должен упомянуть, что мне удалось запустить «DemoApp» (тестовую программу facebook-ios-sdk) на моем iPhone. Кроме того, мое приложение не аварийно завершает работу, и в моем окне консоли отладчика не сообщается об ошибках.

Почему у меня такие разные результаты при запуске приложения на моем iPhone? Кто-нибудь еще сталкивался с подобной проблемой? Что я могу сделать, чтобы это исправить?

Заранее спасибо, Джереми

1 Ответ

2 голосов
/ 31 мая 2011

Посмотрели ли вы раздел «Аутентификация и авторизация» на https://github.com/facebook/facebook-ios-sdk?

Разница между симулятором и вашим устройством заключается в том, что на вашем устройстве установлено приложение Facebook.Если у вас не было установлено приложение, я думаю, оно будет работать идеально, потому что обратные вызовы авторизации обрабатываются непосредственно в приложении.Однако с установленным приложением Facebook, после того как пользователь аутентифицирует ваше приложение, приложение Facebook «перенаправляет» в ваше приложение с помощью обработчика URL.

Ваша задача - реализовать правильный код обработки URL, настроивсвойство plist (которое, по-видимому, вы сделали, поскольку ваше приложение перезапускается после того, как приложение Facebook авторизует вас), а также для правильного ответа на сообщение делегата приложения - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url.Детали для правильной реализации этого обработчика запуска должны быть перечислены в ссылке выше.

...