Facebook SDK для iOS на устройстве iOS 4.0

Документы Facebook SDK указывают, что этот SDK будет работать на iOS 4.0 и более поздних версиях. Затем я протестировал их образец Scrumptions на устройстве iPhone 3GS с iOS 4.0. Но, похоже, это приложение не работает. Он продолжает показывать мне экран входа в систему, хотя я вошел в систему.

Затем я отладил и заметил, что FBSessionState всегда возвращает FBSessionStateClosedLoginFailed. Он никогда не возвращает FBSessionStateOpen.

Что может быть причиной? Однако, когда я запускаю это в эмуляторе iOS 5.1, он работает нормально. Это потому, что SDK не поддерживает iOS 4.0 или какая-то другая проблема?


person Rukshan Marapana    schedule 12.08.2012    source источник


Ответы (2)


Вы объявили оба

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;

и

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url;

?

Первый — это iOS 4.2 и более поздние версии, поэтому, если на вашем устройстве установлена ​​более ранняя версия, чем 4.2, вместо этого будет использоваться второй метод.

person Pedro Andrade    schedule 17.08.2012

Как и сказал саулобрито. Я сам столкнулся с этой проблемой и решил ее, реализовав этот метод в делегате приложения.

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    return [FBSession.activeSession handleOpenURL:url]; ;
}

Вам не нужно реализовывать handleOpenURL

person mrhangz    schedule 10.09.2012