0

私が抱えている問題は、ユーザーが FBDialog の [共有] ボタンをタップした後、リクエストが完了するか失敗するまで視覚的なフィードバックが得られないことです...そして 3G を超えると時間がかかります。この間、ユーザーは「共有」を正しくタップしたかどうかわからず、コンテンツを 2 回投稿する危険性があります。

この間に読み込みインジケータを表示できるように、コールバックを取得する方法はありますか? このパーツはどこに入れればいいですか?

ありがとうございました!

4

2 に答える 2

1

以下のコードをfbAgent.mに書き込み、ここでコードを確認します。その時点で1つの「PID」を取得します。アラートメッセージに書き込みます.......ユーザーは、メッセージがFacebookに投稿されて成功したことを理解できます。

これがお役に立てば幸いです。

- (void)request:(FBRequest*)request didLoad:(id)result {
    if ([request.method isEqualToString:@"facebook.fql.query"]) {
        NSArray* users = result;
        NSDictionary* user = [users objectAtIndex:0];
        NSString* name = [user objectForKey:@"name"];

        // Calling the delegate callback
        [delegate facebookAgent:self didLoadName:name];

    } else if ([request.method isEqualToString:@"facebook.users.setStatus"]) {
        newStatus = nil;
        NSString* success = result;
        if ([success isEqualToString:@"1"]) {

            // Calling the delegate callback
            [delegate facebookAgent:self statusChanged:YES];

        } else {
            [delegate facebookAgent:self statusChanged:NO];
        }
    } else if ([request.method isEqualToString:@"facebook.photos.upload"]) {
        NSDictionary* photoInfo = result;
        NSString* pid = [photoInfo objectForKey:@"pid"];
        UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:nil message:[NSString stringWithFormat:@"success Uploaded Your image please check your FaceBook", pid] delegate:self cancelButtonTitle:nil otherButtonTitles:@"Ok", nil];
        [alertView show];
        [alertView release];
        fbbut.enabled=YES;
        [fbact stopAnimating];

        self.uploadImageData = nil;
        self.uploadImageCaption = nil;
        self.uploadImageAlbum = nil;
        //[delegate facebookAgent:self photoUploaded:pid];

        if(newStatus){
            [self setStatus:newStatus];
        }
    }
}
于 2011-09-15T09:59:52.957 に答える