2012-08-03 141 views
0

在我的應用程序中。我成功地在我的Facebook牆上張貼圖像(圖像類型JPEG類型)。它在Simulator和Device中也可以正常工作。圖片在Facebook上發佈?

但問題是,當我從我的iPhone拍攝圖像或從相機捕獲的庫中選擇一個圖像。它不是發佈在Facebook牆上。

另一方面,當我從我的iPhone庫選擇任何JPEG圖像(通過互聯網下載)。它張貼在牆上。

在我看來有圖像格式問題。請引導我

謝謝

我的代碼在這裏。

-(IBAction)clickButtonClicked 
{ 
// For link post 

NSString *Message = [NSString stringWithFormat:@"Testing Iphone App : \"http://www.google.com\" "];  


DataClass *obj=[DataClass getInstance]; 

UIImage *image=[[UIImage alloc]init ]; 

image= obj.imgFinalImage; 

NSMutableDictionary *params1 = [[NSMutableDictionary alloc]init]; 


[params1 setObject:image forKey:@"source"]; 
[params1 setObject:Message forKey:@"message"]; 

NSString *[email protected]"/me/photos"; 


[[appDelegate facebook] requestWithGraphPath:post andParams:params1 andHttpMethod:@"POST" andDelegate:self]; 

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Message!" message:@"Invitation Send Sucessfully" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil]; 
[alert show]; 
[alert release]; 


} 
+0

一個問題,爲什麼你在這裏分配的'UIImage':'*的UIImage image = [[UIImage alloc] init];'當你在下一行時,你將'obj.imgFinalImage'分配給圖像。你只是在這裏泄漏圖像變量。 – rckoenes 2012-08-03 14:09:11

+0

@rckoenes。你是對的。我很多時候改變我的代碼..所以我忘記了..謝謝 – QueueOverFlow 2012-08-03 14:12:46

回答

0

我的猜測是,你在錯誤的財產通過圖像:

NSMutableDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: 
        sobj.imgFinalImage, @"picture", 
        Message, @"caption", 
        nil]; 

[[appDelegate facebook] requestWithMethodName:@"photos.upload" 
        andParams:params 
        andHttpMethod:@"POST" 
        andDelegate:self]; 

然後確保你實施Facbook請求的委託檢查圖像上傳。

隨着圖形API,你不能直接發送UIImage,你需要發送UIImageNSData表示:

​​
+0

我的互聯網下載的圖像已經發布在Facebook牆上。但相機捕獲的圖像不會發布。現在我正在嘗試你的代碼。 – QueueOverFlow 2012-08-03 14:18:25

+0

rckoenes再次你是對的:)。我只更改@「圖片」,並將其貼在我的牆上。但我仍然困惑。當我使用@「源」時,我的圖片也上傳到牆上。但只有那些我從互聯網上下載的人。 – QueueOverFlow 2012-08-03 14:28:42

+0

當你發佈'UIImage'作爲源時,我的猜測是facebook SDK沒有正確地將對象轉換爲jpg/png。當你使用一些JPG格式時,猜猜你工作很幸運。如果你看到我的編輯,如果將代碼更改爲使用圖形API,我將'UIImage'轉換爲包含'UIImage'的NSData'對象作爲png。 – rckoenes 2012-08-03 14:33:03