Creiamo uno “share” button per le nostre applicazioni Mac OSX per condividere su Twitter, Email e Facebook*

mountain lion logo

Ciao a tutti ragazzi con l’arrivo del nuovo OS di casa apple sono state aggiunte tante succose novità e prima di ripartire per le vacanze vorrei mostravene almeno una , da questo momento in poi è davvero molto semplice inviare un tweet, una mail ecc direttamente dalla nostra app ma non perdiamoci in chiacchiere e iniziamo subito con la creazione di un nuovo progetto di tipo cocoa application .

Rechiamoci nel file AppDelegate.h e scriviamo il seguente codice :

#import <;Cocoa/Cocoa.h>;

@interface AppDelegate : NSObject <;NSApplicationDelegate,NSSharingServicePickerDelegate,NSSharingServiceDelegate>;

@property (assign) IBOutlet NSButton *shareButton;

@property (assign) IBOutlet NSImageView *imageView;

@property(nonatomic,retain)IBOutlet NSTextView *textview;

– (IBAction)condividi:(id)sender;

@property (assign) IBOutlet NSWindow *window;

@end

Creiamo l’interfaccia grafica

Rechiamoci presso il file MainMenu.xib e impostiamo l’interfaccia grafica in questo modo :

1 textview

1 button

1 imageview

Ora non ci resta che fare tutti gli opportuni collegamenti .

E’arrivato il momento di implementare il codice vero e proprio quindi ora tocca al file AppDelegate.m andiamo a scrivere il seguente codice :

#import “AppDelegate.h”

@implementation AppDelegate

@synthesize shareButton;

@synthesize textview;

@synthesize imageView;

;

– (void)dealloc

{

[super dealloc];

}

– (void)applicationDidFinishLaunching:(NSNotification *)aNotification

{

//inizializzo l’immagine del bottono share

[self.shareButton setImage:[NSImage imageNamed:NSImageNameShareTemplate]];

[self.shareButton sendActionOn:NSLeftMouseDownMask];

}

– (IBAction)condividi:(id)sender {

//creiamo un mutable array per inserire al suo interno il testo e l’immagini da condividere

NSMutableArray *shareObject=[NSMutableArray arrayWithObject:[self.textview string]];

NSImage *image=[self.imageView image];

if (image) {

[shareObject addObject:image];

}

//creiamo l’oggetto per la condivisione lo allochiamo e lo inizializiamo con il mutable array

NSSharingServicePicker *sharingPicker=[[NSSharingServicePicker alloc]initWithItems:shareObject];

//impostiamo il delegate

sharingPicker.delegate=self;

//mostra le condivisioni

[sharingPicker showRelativeToRect:[self.shareButton bounds] ofView:self.shareButton preferredEdge:NSMaxYEdge];

}

@end

Il risultato finale dovrebbe essere simile a questo :

La condivisione su Facebook sarà disponibile in autunno.