1

Web ページの URL を Facebook と共有しようとしましたNSSharingServicePickerが、FB ウォールに (説明などを含む) Web ページの 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 は、必要な方法で Web ページを共有します。

4

2 に答える 2

0

私はAppleDevフォーラムで答えを見つけました。

次の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;
}
于 2013-02-12T09:43:16.363 に答える
0

ここを参照してください:http://https://og:url

于 2013-02-12T04:56:40.627 に答える