【发布时间】:2014-05-05 10:09:41
【问题描述】:
我在 mac OSX Maverics 10.9.2 上使用 xcode 5.1.1、ios 7.1.1、cocos2d 2.1、facebook ios sdk 3.14。
我在 appDelegate 中定义了一个 FBSession 属性。在另一个 CCMenuItemImage 点击事件中我有
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 应用程序和设置->general-facebook。在 developer.facebook.com 应用设置中,我启用了 SSO。请帮忙。
编辑:
我遇到了一些随机问题,例如: 1> 错误:“FBSDKLog: 无法使用 Facebook 应用或 Safari 授权,fb**** 未注册为 URL Scheme”。 2> 在没有有效 FBSession 的情况下获取访问令牌。 3> 有时网页登录窗口弹出上面提到的#1 错误。 4> 有时上述错误#3 会弹出并消失,并取消日志打印用户。
【问题讨论】:
-
使用这个链接,这将用于你stackoverflow.com/questions/23170846/…
-
你需要在网页视图中打开它吗?
-
我没有使用 webView。我需要使用设备中安装的本机 ios facebook 应用程序打开它。如果没有,则使用 safari 等。
标签: ios facebook cocos2d-iphone