2013-02-03 1 views
2

페이스 북에 NSSharingServicePicker이라는 웹 페이지 URL을 공유하려고 시도하지만 FB 페이지의 URL에 웹 페이지 URL (설명이있는 등)이 아닌 링크처럼 나타납니다.웹 페이지 URL을 페이스 북에 공유하기

내 코드는 매우 간단합니다.

- (IBAction)share:(id)sender 
{ 
    NSURL* url = [NSURL URLWithString:@"http://itunes.apple.com/us/app/travel-route-planner/id504536611"]; 

    NSSharingServicePicker *sharingServicePicker = [[NSSharingServicePicker alloc] initWithItems:[NSArray arrayWithObjects:url, nil]]; 
    sharingServicePicker.delegate = self; 

    [sharingServicePicker showRelativeToRect:[shareButton bounds] 
             ofView:shareButton 
           preferredEdge:NSMinYEdge]; 
} 

나는 그것이 행해질 수 있었다는 것을 알고있다.
Safari는 필요한 방식으로 웹 페이지를 공유합니다.

+0

의 대리자를 설정하는 이미지를 포함하는 시도 해 봤나 잊지 마세요? Safari는 항상 공유하고있는 웹 사이트의 미리보기 이미지를 포함합니다. 아마도 그게 뭔가를 바꿀 것입니까? Facebook SDK를 통해 Facebook과 만 공유했습니다. 공유의 방법이 무엇이 었는지 정확하게 기억한다면. 말이 돼? –

+0

도움이되지 않았습니다. 일반적으로 이미지와 설명은 그래프 API를 통해 웹 페이지에서 가져옵니다. – Remizorrr

+0

URL을 NSURL 대신 NSString으로 전달하려고 시도한 적이 있습니까? – Alexandru

답변

0

Apple Dev 포럼에서 답변을 찾았습니다.

당신은 NSSharingServiceDelegate 방법

다음 사용 NSURL 이미지를 추가 할 필요가
- (NSRect) sharingService: (NSSharingService *) sharingService 
sourceFrameOnScreenForShareItem: (id<NSPasteboardWriting>) item 
{ 
    if([item isKindOfClass: [NSURL class]]) 
    { 
     //return a rect from where the image will fly 
     return NSZeroRect; 
    } 

    return NSZeroRect; 
} 

- (NSImage *) sharingService: (NSSharingService *) sharingService 
transitionImageForShareItem: (id <NSPasteboardWriting>) item 
       contentRect: (NSRect *) contentRect 
{ 
    if([item isKindOfClass: [NSURL class]]) 
    { 

     return [NSImage imageNamed:@"image.png"]; 
    } 

    return nil; 
} 

이 NSSharingService

- (id <NSSharingServiceDelegate>)sharingServicePicker:(NSSharingServicePicker *)sharingServicePicker delegateForSharingService:(NSSharingService *)sharingService 
{ 
    return self; 
} 
0

공유하려는 웹 사이트의 소스 코드를 살펴본 후 Facebook Object Debugger을 통해 실행했습니다. 페이스 북은 정의 된 프로토콜에 관해서는 까다 롭다. 따라서 http://에서 https://으로 URL을 변경하는 것이 좋습니다. 보안 URL은 iTunes가 og:url 속성으로 설정 한 것으로서입니다. here을 참조하십시오.

+0

죄송합니다. 사파리 웹 페이지에서 메시지 텍스트에 URL이없는 이미지처럼 공유되는 것을 볼 수 있습니다. 그러나 제 경우 웹 페이지 URL은 항상 메시지 텍스트입니다. – Remizorrr

관련 문제