- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在创建一个 Facebook 应用程序。我已经使用类 FBSDKLoginManager 实现了登录。第一次登录 facebook 时,成功 block 返回包含访问 token 对象(FBSDKAccessToken 对象) 的FBSDKLoginManagerLoginResult 对象,该对象完全用于共享包含。但是在第二次(重新启动应用程序后)当我尝试使用函数 [FBSDKAccessToken currentAccessToken] 获取访问 token 时返回 nil。那么如何在不再次登录facebook的情况下第二次获取访问 token (FBSDKAccessToken对象)。
最佳答案
试试这段代码。基于 Facebook SDK 4.0 版
AppDalegate.m
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation];
}
ViewController.m
- (IBAction)btnFacebookPressed:(id)sender {
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
{
if (error)
{
// Process error
}
else if (result.isCancelled)
{
// Handle cancellations
}
else
{
if ([result.grantedPermissions containsObject:@"email"])
{
NSLog(@"result is:%@",result);
[self fetchUserInfo];
}
}
}];
}
-(void)fetchUserInfo
{
if ([FBSDKAccessToken currentAccessToken])
{
NSLog(@"Token is available : %@",[[FBSDKAccessToken currentAccessToken]tokenString]);
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"id, name, link, first_name, last_name, picture.type(large), email, birthday, bio ,location ,friends ,hometown , friendlists"}]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (!error)
{
NSLog(@"resultis:%@",result);
}
else
{
NSLog(@"Error %@",error);
}
}];
}
}
viewDidLoad
登录后调用此方法获取访问 token
[self fetchUserInfo];
关于ios - 无法通过 iphone sdk 中的 [FBSDKAccessToken currentAccessToken] 获取访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30274693/
我正在尝试修复新的 FBSDKAccessToken,但我仍然不知道如何修复 我的代码: if ([FBSDKAccessToken currentAccessToken]) { NSLog(
我有一个条款和条件 View Controller ,它是我的应用程序的入口点。它检查: if( FBSDKAccessToken.currentAccessToken() != nil){
我实现了一个 Facebook 登录按钮,效果非常好。但是,在用户成功登录 Facebook 并返回到应用后,[FBSDKAccessToken currentAccessToken] 返回 NO。我
我正在开发一个使用 Facebook SDK 登录的 ios 应用程序。我已将 LogInViewController 设置为 Storyboard 中的初始 View Controller ,用户可
我将 facebook 集成到我的应用程序中。但登录后 FBSDKAccessToken.currentAccessToken() 发现 nil 。 这是我的代码: override func vie
代码: self.accountStore = [[ACAccountStore alloc]init]; ACAccountType *FBaccountType= [self.accountSto
我的问题是:我必须按 Facebook 登录按钮两次才能获取 FBSDKAccessToken。此后, token 在应用程序的整个使用过程中保持不变。第一次按下按钮时,AccessToken 似乎就
我正在尝试创建一个个人资料注册页面,并在从“使用 Facebook 登录”页面转入后从 Facebook 分配图像。然而在这条线上... let userID = FBSDKAcces
无法构建 - 构建因语义问题而失败: "Property 'expiredPermissions' not found on object of type 'FBSDKAccessToken *';
我正在尝试验证我是否拥有 publish_actions 权限。总是假的。即使当我请求并获得 publish_actions 并获得 succeeded=TRUE 时,重新验证仍然返回 false。
出于学习目的,我在 Swift 中为 iOS 9 创建了一个应用程序。当我通过我的应用程序登录 Facebook 时,我试图打印 Facebook 当前的访问 token 。 当我单击 fblogin
我在使用 FBSDKAccessToken 时遇到一些奇怪的行为: override func viewDidLoad() { super.viewDidLoad() // Do an
我正在安装最新的解析sdk并在尝试构建时收到以下错误: 找不到FBSDKCoreKit / FBSDKAccessToken.h文件 有什么办法吗? 干杯 最佳答案 同样的问题 我只是从框架捆绑包中删
在我的 IOS9 应用程序中,我使用 Facebook SDK 4.7.0 图形 API 来搜索公共(public)场所。 我在应用程序委托(delegate)中使用 FBSDKApplication
正如标题所说,这是一个错误还是真的有可能?我使用 [FBSDKAccessToken currentAccessToken].tokenString 检查现有的 Facebook session 是否
我正在创建一个 Facebook 应用程序。我已经使用类 FBSDKLoginManager 实现了登录。第一次登录 facebook 时,成功 block 返回包含访问 token 对象(FBSDK
我开始尝试熟悉 FB 最新的 IOS SDK (4.0.1)。我已经将它集成到一个 IOS8 Swift 项目中,并使用 FBSDKLoginButton 来登录和注销用户。如果用户已经登录,我希望应
我使用函数 FBSDKAccessToken.currentAccessToken() 来检索 FB token ,它工作正常,直到我在 swift 3 和 4.17 SDK 中迁移了我的应用程序。现
我正在尝试以某种方式保存我的访问 token /在应用程序退出/崩溃时保持登录状态。我可以登录 Facebook 并使用 FBSDKGraphRequest 检索数据,但每次我退出应用程序时,我都会遇
我正在尝试在 iOS 9.0 中使用 Xcode 7 构建包含 Facebook SDK 的应用程序。我收到此错误。 谢谢 最佳答案 将您的 Facebook SDK 版本更新到 4.6 The SD
我是一名优秀的程序员,十分优秀!