打开fbsession时,我的应用程序未切换到facebook ios本机应用程序
我在MacOSX Maverics 10.9.2上使用xcode 5.1.1、ios 7.1.1、CoCoCoS2D2.1、facebook ios sdk 3.14 我已在appDelegate中定义了FBSession属性。在另一个CCMenuItemImage点击事件中打开fbsession时,我的应用程序未切换到facebook ios本机应用程序,ios,facebook,cocos2d-iphone,Ios,Facebook,Cocos2d Iphone,我在MacOSX Maverics 10.9.2上使用xcode 5.1.1、ios 7.1.1、CoCoCoS2D2.1、facebook ios sdk 3.14 我已在appDelegate中定义了FBSession属性。在另一个CCMenuItemImage点击事件中 if (appDelegate.session.isOpen) { [appDelegate.session closeAndClearTokenInformation]; } else { if (app
if (appDelegate.session.isOpen) {
[appDelegate.session closeAndClearTokenInformation];
} else
{
if (appDelegate.session.state != FBSessionStateCreated) {
// Create a new, logged out session.
appDelegate.session = [[FBSession alloc] init];
}
appDelegate.session = [[[FBSession alloc] initWithPermissions:permissions] autorelease];
// if the session isn't open, let's open it now and present the login UX to the user
[appDelegate.session openWithCompletionHandler:^(FBSession *session,
FBSessionState status,
NSError *error) {
NSLog(@"IT NEVER PRINTS %@",session.accessTokenData.accessToken);
}];
}
在appDelegate.m中,我有:
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
// attempt to extract a token from the url
return [FBAppCall handleOpenURL:url
sourceApplication:sourceApplication
withSession:self.session];
}
当我运行facebook代码示例时,它会启动facebook ios本机应用程序来登录/请求许可。当我运行上面的代码时,它什么也不做。我尝试登录或不登录facebook ios应用程序和设置->常规facebook。在developer.facebook.com应用程序设置中,我启用了SSO。请帮忙
编辑:
我收到的随机问题如下:
1> 错误:“FBSDKLog:无法使用Facebook应用程序或Safari进行授权,fb****未注册为URL方案”。
2> 在没有有效FBSession的情况下获取访问令牌。
3> 有时网页登录窗口弹出上述#1错误。
4> 有一段时间,上面的错误#3弹出并消失,日志打印用户被取消。问题刚刚通过删除我在“test Apps”下的“developer.facebook.com->app”页面中创建的测试应用程序及其关联的测试用户得到解决。这很奇怪,但解决了我所有的问题 虽然我上面的代码运行良好,但我发现中的“构建您自己的按钮”部分很有用,我根据此链接修改了我的代码 在同一个链接中,我也注意到了我不知道的事情: “当某人使用Facebook登录连接到某个应用程序时,该应用程序可以访问其公共配置文件和好友列表,即所有人都可以看到的信息。若要创建此基本连接,应用程序必须始终通过请求“公共配置文件”权限来请求访问某人的公共配置文件信息。”
希望这能帮助别人 我最近也遇到了同样的问题。我能够通过将FBSDKCoreKit的
4.6.0
版本升级到4.7.0
版本来修复它
Facebookstrong建议使用FBSDK库而不是旧的Facebook iOS SDK,因此切换是一个好主意
此外,如果您使用的是iOS 9,请确保设置了正确的LSApplicationQueriesSchemes
Facebook在此处提供了一些有关iOS 9集成的信息:使用此链接这将用于您需要在web view中打开它吗?我没有使用webView。我需要在设备中安装本机ios facebook应用程序时打开它。如果没有,则使用safari等。