适用于iOS的iOS 4.0设备上的Facebook SDK

问题描述:

Facebook SDK文档表明此SDK将在iOS 4.0及更高版本上运行。然后我在iPhone 3GS iOS 4.0设备上测试了他们的Scrumptions示例。但似乎这个应用程序不起作用。它不断显示我登录屏幕,虽然我登录。适用于iOS的iOS 4.0设备上的Facebook SDK

然后我调试并注意到FBSessionState总是返回FBSessionStateClosedLoginFailed。 它永远不会返回FBSessionStateOpen

可能是什么原因?但是,当我在iOS 5.1模拟器中运行它时,它工作正常。是否因为SDK不支持iOS 4.0或其他问题?

你同时声明

- (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的版本,则将使用第二个方法。

就像saulobrito所述。我得到了这个问题,我和解决它通过在应用程序委托实施该方法

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

您不必执行handleOpenURL