2012-03-13 3 views
8

사용자가 내 앱을 통해 벽에 콘텐츠를 공유 할 수 있도록 Facebook SDK를 사용하고 있습니다. 전형적인 포스트가 어떤 텍스트와 포스트를 동반 할 이미지를 포함 할 페이스 북 SDK를 가진 꽤 표준적인 설정입니다.iOS 용 Facebook 게시물의 고품질 이미지 표시

이 모든 것이 정상적으로 작동하지만 내 문제는 페이스 북이 크기가 조정되어 이미지가 적절하게 변환되기 때문에 레티 나 디스플레이에서 볼 때 포스트 이미지가 약간 픽셀 화 된 것입니다. 누구든지 페이스 북이 이것을 위해 더 높은 품질의 이미지를 사용하도록하는 방법이 있는지를 알고 있습니까?

다시 말해, 내가 사용하고있는 원본 이미지는 충분히 높은 품질이지만 페이스 북은 너무 열화되어 Retina 디스플레이에서 너무 잘 보이지 않게됩니다. 우리는 이것을 어떤 식 으로든 피할 수 있습니까?

다음은 내가 사용하고있는 꽤 표준적인 Facebook 게시물 코드에서 발췌 한 것입니다. 그 도움이된다면 내가 연결있어 이미지가 대략 250x250px JPG를 것을

NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
            sharingURL, @"link", 
            sharingTitle, @"name", 
            @" ", @"caption", 
            description, @"description", 
            actions, @"actions", 
            picture, @"picture", 
            nil]; 

[facebook dialog:@"feed" andParams:params andDelegate:self]; 

참고.

편집 : 의미를 분명히하기 위해 샘플 이미지가 추가되었습니다. 페이스 북에 망막 디스플레이 용 고해상도 이미지를 사용하도록 요청하는 방법이 있는지 알고 싶습니다. 사전에

Post image and how it looks on FB

감사합니다!

+0

이미지를 가져 와서 나중에 응용 프로그램에 표시하기 위해 어떤 코드를 사용하고 있습니까? Facebook은 각 그림의 크기를 여러 개 저장합니다. 일반적으로 간단한 쿼리 문자열 매개 변수를 사용하여 고품질 버전을 얻을 수 있지만 이미지를 가져 오는 방법에 따라 달라집니다. –

+0

@Inturbidus, 정보 주셔서 감사합니다,하지만 저는 내 애플 리케이션에서 페이스 북에서 사진을 얻는 것에 대해 이야기하는 것이 아닙니다. 오히려 내 앱을 통해 콘텐츠를 FB로 업로드/공유 할 수 있습니다. 나는 내가 필요한 것을 더 명확히하기 위해 그림을 추가했다. – Madhu

+0

아, 미안해, 오해. –

답변

1

사용자의 사진 앨범에서 사진을 업데이트 할 수 있습니다. 이것은 또한 벽 게시물을 초래할 것입니다. (즉, 또한 경우에 적합합니다.) 즉, 코드가 될 것이다 :

// save image as data 
UIImage* image = [...]; 
NSData *imageData = UIImageJPEGRepresentation(image, 0.8); 
[params setValue: imageData forKey: @"source"]; 

// send post request 
Facebook* facebook = [...]; 
[facebook requestWithGraphPath: @"me/photos" andParams: params andHttpMethod: @"POST" andDelegate: delegate]; 

(참고 : 앨범에 업로드 된 이미지가 양쪽에 960보다 작아야합니다 참조하십시오. Facebook Documentation를)

+0

시간 내 주셔서 대단히 감사합니다. 실제로 다른 사람의 벽에 사진을 게시 하시겠습니까? Q가 명확하지 않은 경우에 대비하여 명확한 설명을 위해 샘플 질문을 추가했습니다. – Madhu

+0

이것은 또 다른 아이디어였습니다. 페이스 북에 더 높은 품질의 이미지를 가져 오는 방법이었습니다. 실제 wallpost를 참조하지는 않지만 사용자가 사진을 업로드하면 자동 wallpost가 생성됩니다. 당신 wallposts에 대한 기본 페이 스북 이미지 크기를 변경할 수 없습니다 * 같아요. – calimarkus

+0

동의합니다. 아직도 두려워하는 답변이 없지만이를 해결할 방법이없는 것처럼 보입니다. 나는 그 문제 자체를 대답하지 않고 떠날 것이다. 그러나 현상금이 한 시간 만에 만료 될 것이라는 것을 알기 때문에, 나는 단지 나중에 넣을 것이다. 쓰레기 버리는 이유는 없습니다 :) – Madhu

0
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2)  
{  
    //iPhone 4 
    //Use @2x images here 
    NSLog(@"iPhone 4"); 
} 
else 
{ 
    //iPhone 3 or earlier 
    //Use original images here 
    NSLog(@"iPhone 3 or earlier"); 
} 


//May this will help you. 

장치에 따라 이미지 원본을 변경하고 FB에 종속되도록 제안 할 것입니다.