1

過去 5 時間、Facebook を自分のアプリに実装するのに非常に苦労してきましたが、完全な苦痛でした。私は現在、Facebook サイトに基づいて段階的に進んでいます。彼らが言ったようにすべてを実装しましたが、別のView ControllerからFacebookを呼び出す方法について混乱しています(たとえば、ログイン画面を表示してから、ユーザーに何かを壁に投稿させます)。

これが私がやった方法です。誰かが時間をかけて説明していただければ、私は永遠にあなたの借金を抱えていると説明できます.私は気が狂っています. ありがとう

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    facebook = [[Facebook alloc] initWithAppId:@"XXXXXXXXXX" andDelegate:fbControl];

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

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

}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {

    return [facebook handleOpenURL:url];
}

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

    [facebook dialog:@"feed" andDelegate:self];
}
4

1 に答える 1

0

Facebook アプリとの対話を有効にするだけで、実際にアプリを対話させるコードはありません。たとえば、私のアプリの 1 つにこれがあります。

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   FACEBOOK_APP_ID, @"app_id",
                                   self.newsItem.link, @"link",
                                   self.newsItem.imageURL, @"picture",
                                   self.newsItem.title, @"caption",
                                   contentString, @"description",
                                   nil];

AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];

[appDelegate.facebook dialog:@"feed" andParams:params andDelegate:(id)self];

これは、ユーザーが自分のウォールに何かを投稿できるようにするダイアログを示しています。どのメソッドを呼び出す必要があるかは、目的によって異なりますがdialog:andParams:andDelegate、「ニュース フィードへの投稿」ダイアログを表示するために使用されます。

于 2012-05-23T04:37:20.737 に答える