2011-09-26 197 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

相關問題