尽管通过 FBSDKLoginButton 登录,ios Facebook SDK v4.x 访问令牌仍为空

2023-11-27

尽管按钮显示我已登录,但我的 Facebook 访问令牌为空。有人知道为什么会这样吗?

来自 RootViewController.m

- (void)viewDidLoad {
    [super viewDidLoad];

    self->login_button = [[FBSDKLoginButton alloc] init];
    self->login_button.center = self.view.center;
    [self.view addSubview:self->login_button];

    FBSDKAccessToken* access_token =[FBSDKAccessToken currentAccessToken];
    NSLog(@"Access Token, %@",access_token);
}

来自ApplicationDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    [self.window setRootViewController:[[RootViewController alloc] init]];

    [self.window makeKeyAndVisible];

    [self.window setBackgroundColor:[UIColor purpleColor]];
    [FBSDKLoginButton class];
    return [[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];
}

我的 -ObjC 链接器标志也已设置


需要首先调用 FBSDKApplicationDelegate 来解析缓存的令牌。由于您立即设置根视图控制器,因此会在 FBSDKApplicationDelegate 之前调用 viewDidLoad。相反,您可以将 FBSDKApplicationDelegate 向上移动:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  // Override point for customization after application launch.
  [FBSDKLoginButton class];
  BOOL r = [[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];

  self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

  [self.window setRootViewController:[[RootViewController alloc] init]];

  [self.window makeKeyAndVisible];

  [self.window setBackgroundColor:[UIColor purpleColor]];


  return r;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尽管通过 FBSDKLoginButton 登录,ios Facebook SDK v4.x 访问令牌仍为空 的相关文章

随机推荐

  • iOS - 将图像保存为jpg格式

    我的问题是图像保存的格式是什么 是dat还是jpg 这是我使用的代码 NSString urlImage NSString folderPath NSString imageName urlImage componentsSeparated
  • 烧瓶在容器内工作,但当我将其向前移动时却无法工作

    我正在尝试 我正在尝试使用 docker 运行一个简单的 Flask 应用程序 使用this网站作为参考 我的泊坞窗文件 FROM ubuntu latest RUN apt get update y RUN apt get install
  • 如何在 F# 中获取函数参数的名称?

    我可以编写一个返回作为参数给出的函数名称的函数吗 let funName f string returns the name of f 例如 如果我通过printfn作为 funName 的参数 它返回 printfn gt funName
  • 用于单元测试的 EmberJS 服务注入 (Ember QUnit)

    Specs 灰烬版本 1 13 8 节点 0 10 33 npm 2 13 4 I have import Alias from services alias moduleFor controller test Controller tes
  • PostgreSQL的括号规则,有总结指南吗?

    在数学和许多编程语言中 我认为标准SQL也 括号改变优先级 首先对要评估的部分进行分组 或增强可读性 对于人眼 等效示例 SELECT array 1 2 gt array 1 SELECT array 1 2 gt array 1 SEL
  • jQuery 文本到链接脚本? [复制]

    这个问题在这里已经有答案了 有谁知道有一个脚本可以选择对 URL 的所有文本引用并自动将其替换为指向这些位置的锚标记 For example http www google com would automatically turn into
  • 在 Safari iOS 13 + 上禁用双击缩放

    如何在 Safari iOS 13 移动设备上禁用 双击缩放 有时会缩放 有时则不会 我觉得它可能只适用于特定的 HTML 元素 我读到 双击缩放 应该在 iOS 13 上默认禁用 只有捏合缩放才可以工作 但事实并非如此 您可以添加以下元标
  • ReactJS onClick setState 到不同的元素

    我是新来反应的 我遇到了一个小问题 也许有人可以帮助我 所以问题是我无法使用 onCLick 函数触发我想要的元素 现在我试图删除导航 import React from react import ReactDOM from react d
  • jQuery / ajax 上传图像并保存到文件夹

    更新下面的代码 我发现一些代码能够上传图像并显示其缩略图 但是 我也想将图像保存到特定文件夹中 我可以使用什么 jQuery 代码或 ajax 代码将原始图像保存到我选择的文件夹中 这是现场演示 http jsfiddle net dn9S
  • 展平浅嵌套列表的习惯用法:它是如何工作的?

    我在我正在开发的模块中找到了这段代码 l opaque function thingys x for y in l for x in y 我读不懂这个 通过实验 我能够确定它正在展平 2 级嵌套列表 但语法对我来说仍然不透明 它显然省略了一
  • Django REST Framework ValidationError 始终返回 400

    我正在努力强迫ValidationError返回与 400 不同的状态代码 这就是我所做的 class MyValidationError ValidationError status code HTTP 403 FORBIDDEN 然后在
  • 如何重载间接运算符? (C++)

    我正在尝试创建一个迭代器类作为列表类的成员类 并尝试重载间接运算符 以访问它指向的列表 template
  • 如何获取winform的GUI线程?

    我有一个带有多个 GUI 线程的 winforms 应用程序 我希望他们能够访问彼此的线程对象 而不必单独跟踪该信息 NET 中是否有一个函数可以提供 winforms 控件或窗口对象 并返回线程 或者我可以为 threadID pinvo
  • 如何在AS3中播放库中的声音?

    在Flash 10 AS3中 我添加了一些声音 它似乎工作正常 但我认为我做错了 我将声音导入到库中 但我相信它会从包含 swf sound 的文件夹中重新加载它 我像这样加载它们 var request1 URLRequest new U
  • 检测来电的目标电话号码[重复]

    这个问题在这里已经有答案了 我有一部带有 2 张 SIM 卡的 Android 手机 我想检测来电的目标 是 SIM 1 还是 SIM 2 是否可以从通话信息中获取目标号码 您的问题在文档中没有答案 但我发现了一些可以帮助你的链接 检查双卡
  • 导入错误:没有名为 django 的模块

    我在 mac 的 2 5 2 版本旁边安装了 python 2 6 我一这样做 python2 6 manage py runserver就失败了 因为它找不到django core management 从 shell 中 import
  • 解耦 Microsoft.AspNet.Identity.*

    我正在 Visual Studio 2013 RC 中工作 并使用新的测试表单身份验证Microsoft AspNet Identity 包 我想集成这些概念 用户 角色等 但想使用我自己的域模型 POCO 它们位于不同的程序集中 我也不想
  • 将项目添加到 ListView 时触发事件?

    我有这个 XAML
  • MySQL 触发器可以模拟 CHECK 约束吗? [复制]

    这个问题在这里已经有答案了 我想在MySQL中使用CHECK约束 但不支持 与其他 RDBMS 不同 它会理解但不会强制检查 我见过一些带有触发器的解决方法 但他们倾向于为相关字段设置默认值 而不是返回错误 是否可以构造一个触发器 在不满足
  • 尽管通过 FBSDKLoginButton 登录,ios Facebook SDK v4.x 访问令牌仍为空

    尽管按钮显示我已登录 但我的 Facebook 访问令牌为空 有人知道为什么会这样吗 来自 RootViewController m void viewDidLoad super viewDidLoad self gt login butt