DenVog
DenVog

Reputation: 4286

Define Mail Subject Using NSSharingService

How do you define the subject for a Mail message composed with NSSharingService?

I've been through the NSSharingService Class reference, but am not seeing it defined anywhere. The following successfully launches mail app, but subject is just shoved into the mail body along with the text.

NSAttributedString *text = [self.noteSynopsisView attributedString];
NSString *subject = @"My Subject";
NSArray *shareItems = [NSArray arrayWithObjects:text, subject, nil];
NSSharingServicePicker *sharingServicePicker = [[NSSharingServicePicker alloc] initWithItems:shareItems];
sharingServicePicker.delegate = self;
[sharingServicePicker showRelativeToRect:[self.shareButton bounds] ofView:self.shareButton preferredEdge:NSMaxYEdge];

In iOS, you'd normally do something like the following to define a subject for the MailComposer

[sharingServicePicker setSubject:@"My Subject"];

But SharingServicePicker does not support setSubject.

Upvotes: 6

Views: 1182

Answers (2)

daniel kilinskas
daniel kilinskas

Reputation: 3558

Implement the next method:

-(id<NSSharingServiceDelegate>)sharingServicePicker:(NSSharingServicePicker *)sharingServicePicker delegateForSharingService:(NSSharingService *)sharingService{
    sharingService.subject=@"Subject";
    return self;
}

Upvotes: 0

goetz
goetz

Reputation: 916

As of OS X 10.9, NSSharingService has a subject property which you can use.

Upvotes: 2

Related Questions