我使用以下方法登录用户,工作正常。但是,每次应用重新启动时,我都需要再次运行此方法以重新获得访问权限。
Facebook文档似乎非常有限,我能找到的所有建议(包括Stack Overflow)都与旧的 Facebook SDK 有关。
根据我的理解,当用户首次登录时,应该缓存 FBSDKAccessToken 。但是,当我在后续启动时检查[FBSDKAccessToken currentAccessToken]
时,不会返回任何内容。
任何建议都非常欢迎。
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logInWithPublishPermissions:@[@"publish_actions"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
// Process error
} else if (result.isCancelled) {
// Handle cancellations
} else {
if ([result.grantedPermissions containsObject:@"publish_actions"]) {
// success
}
}
}];
答案 0 :(得分:0)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
return [[FBSDKApplicationDelegate sharedInstance] application:application
didFinishLaunchingWithOptions:launchOptions];
}
答案 1 :(得分:0)
您还想在以下方法中添加它:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
BOOL facebookCheck = [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation];
if (!facebookCheck){
...
}
return true;
}
你现在可能不需要它,但它并没有受到伤害。 :)