0

私はウェブ全体を検索し、Facebook SDK をダウンロードして写真のアップロード機能を試してみましたが、そこで動作しました。私のアプリケーションにまったく同じコードを適用しても機能しません。助けてください???これらは私のコードです:

- (IBAction)pushUpload:(id)sender {

    NSString *path = @"http://www.facebook.com/images/devsite/iphone_connect_btn.jpg";
    NSURL *url = [NSURL URLWithString:path];
    NSData *data = [NSData dataWithContentsOfURL:url];
    UIImage *img  = [[UIImage alloc] initWithData:data];

    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   img, @"picture",
                                   nil];

    [_facebook requestWithGraphPath:@"me/photos"
                          andParams:params
                      andHttpMethod:@"POST"
                        andDelegate:self];

    [img release];

    [loadingIcon startAnimating];
}

ご覧のとおり、アップロード時にアニメーションを開始するために、loadingIcon をそこに配置しました。正常にアップロードされたときに、リクエスト didload で stopanimating コマンドを実行しました。

-(void)request:(FBRequest *)request didLoad:(id)result{

    [loadingIcon stopAnimating];
    if ([result isKindOfClass:[NSArray class]]) {
        result = [result objectAtIndex:0];
    }
    if ([result objectForKey:@"owner"]) {
        [loadingIcon stopAnimating];

        UIAlertView *alert;

        alert = [[UIAlertView alloc] initWithTitle:@"" 
                                           message:@"Photo uploaded." 
                                          delegate:self cancelButtonTitle:@"Ok" 
                                 otherButtonTitles:nil];

        [alert show];
        [alert release];
    } else {
       // [self.label setText:[result objectForKey:@"name"]];
    }
}

問題は、読み込みアイコンがアニメーションを続け、エラーがなく、Facebook アカウントに写真がアップロードされていないことです。なぜ何かアイデアはありますか??

これは私の .h ファイルのコードです:

@interface UploadPhotosViewController : UIViewController(FBRequestDelegate, FBDialogDelegate, FBSessionDelegate){

IBOutlet UIImageView *imageView;
IBOutlet UIActivityIndicatorView *loadingIcon;
IBOutlet UIBarButtonItem *_pushPick;
IBOutlet UIBarButtonItem *_pushUpload;

Facebook * _facebook; }

@property(読み取り専用) Facebook *facebook;

  • (IBAction)pushUpload:(id)送信者;
  • (IBAction)pushPick:(id)送信者;

//UINavigationControllerDelegate、UIImagePickerControllerDelegate、

@終わり

注意すべきもう 1 つのことは、(FBRequestDelegate、FBDialogDelegate、FBSessionDelegate) があるはずのときに、色のインジケータがないことです..それは問題ですか?

4

3 に答える 3

1

.h ファイルに Facebook のデリゲートを記述したかどうかを確認します。このコードもチェックしてください。

NSString *string=@"Images of me";
SBJSON *jsonWriter = [[SBJSON new] autorelease];
    NSDictionary* attachment = [NSDictionary dictionaryWithObjectsAndKeys:
                                @"My name", @"name",
                                string, @"description", nil];
    NSString *attachmentStr = [jsonWriter stringWithObject:attachment];



    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   @"This is image",@"description",
                                   @"Share on Facebook",  @"user_message_prompt",
                                   //actionLinksStr, @"action_links",
                                   attachmentStr, @"attachment",    
                                  /*Your image here", @"picture",
                                   nil];

このコードを試してください

それが役に立てば幸い....

于 2011-08-12T13:11:18.647 に答える
1

プロトコルを正しく宣言していないためだと思います。括弧ではなく山括弧で囲みます。

@interface UploadPhotosViewController : UIViewController<FBRequestDelegate, FBDialogDelegate, FBSessionDelegate>
于 2012-09-03T13:48:13.083 に答える
1

私を試してみてください/私/写真の代わりにフィードしてください.

[_facebook requestWithGraphPath:@"me/feed"
                      andParams:params
                  andHttpMethod:@"POST"
                    andDelegate:self];
于 2011-09-13T08:19:20.973 に答える