2011-09-26 119 views
1

我正试图在我的iPhone应用程序上实现Facebook连接。Facebook Connect打开Facebook应用程序

第一次确认应用程序停留在Facebook应用程序,并不返回到我的应用程序。

我打电话从视图控制器的对话方式与一个按钮,但我想发布 关于应用程序时消息用户登录我该怎么做?

- (void)viewDidLoad{ 
    [super viewDidLoad]; 
    facebook = [[Facebook alloc]initWithAppId:@"" andDelegate:self]; 

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    if ([defaults objectForKey:@"FBAccessTokenKey"] 
     && [defaults objectForKey:@"FBEpirationDateKey"]) 
    { 
     facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"]; 
     facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"]; 
    } 

    if (![facebook isSessionValid]) { 
     [facebook authorize:nil ]; 
    } 
} 

-(void)fbDidLogin{ 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    [defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"]; 
    [defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"]; 
    [defaults synchronize]; 
} 

-(IBAction)dialog:(id)sender{ 
    [facebook dialog:@"feed" andDelegate:self]; 
} 

TNX!

回答

1

要禁用此行为,请修改Facebook.m第275行并将两个选项都设置为NO。

- (void)authorize:(NSArray *)permissions { 
    self.permissions = permissions; 

    // with both options NO, authorization always happens in-app 
    [self authorizeWithFBAppAuth:NO safariAuth:NO]; 
} 
0

在你的应用程序代理,你需要实现(请务必保持facebook的类实例的引用的地方在那里它可以通过你的应用程序代理访问):

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url 
{ 
    return [facebook handleOpenURL:url]; 
} 
+0

现在我发布低谷[facebook对话:@“feed”andDelegate:self]; –

+0

我希望它以编程方式发送有关应用程序的消息 –

+0

-1与handleOpenURL – bentford

相关问题