适用于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