Facebook iOS授权和发布没有对话?

Jos*_*ane 6 iphone facebook objective-c ios

我刚刚开始使用适用于iOS的Facebook SDK并彻底检查了文档和其他帮助,但无法成功.

我已经启动了一个基于视图的新应用程序,并按照文档中的建议进行了授权.每次我启动应用程序时,它都会切换到Facebook应用程序(我已安装在我的iPhone上)并说已经授权,请按好.怎么能反复阻止呢?

我也试过在没有对话的情况下发布到Facebook.控制台告诉我发出请求,但然后发生错误(不会崩溃,但didFailWithError告诉我).

无论如何我没有发布我的任何代码,因为它似乎相对简单,所以如果有人知道如何做到这一点,我会非常感谢任何帮助,甚至可能是代码示例.

谢谢.

arc*_*ght 9

您错过了委托中的关键点,您必须自己保存会话数据

- (void)fbDidLogin {
    // store the access token and expiration date to the user defaults
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:facebook.accessToken forKey:ACCESS_TOKEN_KEY];
    [defaults setObject:facebook.expirationDate forKey:EXPIRATION_DATE_KEY];
    [defaults synchronize];
}
Run Code Online (Sandbox Code Playgroud)

然后,当您初始化Facebook时,您将执行以下操作

facebook = [[Facebook alloc] initWithAppId:kAppId];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
facebook.accessToken = [defaults objectForKey:ACCESS_TOKEN_KEY];
facebook.expirationDate = [defaults objectForKey:EXPIRATION_DATE_KEY];
Run Code Online (Sandbox Code Playgroud)

最后,如果你想在没有对话的情况下发帖,你会这样做

NSString *message = @"Visit my blog http://effectivemobility.blogspot.com/";
NSArray *obj = [NSArray arrayWithObjects:message, nil];
NSArray *keys = [NSArray arrayWithObjects:@"message", nil];

// There are many other params you can use, check the API
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjects:obj forKeys:keys];

[facebook requestWithGraphPath:@"me/feed" andParams:params andHttpMethod:@"POST" andDelegate:nil];
Run Code Online (Sandbox Code Playgroud)

我希望有所帮助