Apple/iOS/Kits/Social/iOS6

Un article de Agora2ia.


Sommaire

Check-list

Au développement

  1. Ajouter le framework Social dans les dépendances dans votre projet
  2. Importer le header "Social/Social.h" dans votre controller
  3. Utiliser le SLComposeViewController pour ouvrir la fenêtre spécifique

A l'exécution

  1. Saisir les credentials dans l'écran settings du device


Composants

Vue de saisie du message

La vue est fournie par le SLComposeViewController

Trois type :

  • SLServiceTypeFacebook
  • SLServiceTypeTwitter
  • SLServiceTypeSinaWeibo


SLComposeViewController *facebookPostVC =
   [SLComposeViewController composeViewControllerForType:SLServiceTypeFacebook];
[facebookPostVC setInitialText:@”Hello World!”];
[facebookPostVC addImage:[UIImage imageNamed:@”world.png”]];
[self presentViewController:facebookPostVC animated:YES completion:nil];


Le menu Social

  • Instance de NSSharingServicePicker
  • Montre que les services disponibles
    • Twitter, Facebook, Flickr, iMessage, AirDrop
  • Peut être pesonnalisé

Ce que l'on peut partager :

  • NSImage
  • NSString, NSAttributedString
  • NSURL (local or remote)
  • Custom types that implement NSPasteboardWriting

Check-list :

  1. Ajouter le bouton Share
  2. Présenter le menu (NSSharingServicePicker) au clic
  3. Spécifier un delegate pour le service selectionné
  4. Implémenter le protocol delegate


Ajouter le bouton Share

NSButton *button = [[NSButton alloc] init];
[button setImage:[NSImage imageNamed:NSImageNameShareTemplate]];
[button sendActionOn:NSLeftMouseDownMask];
[button setTarget:self];
[button setAction:@selector(showServicePicker:)];


Présenter le menu (NSSharingServicePicker) au clic

- (void)showServicePicker:(id)sender {
   NSArray *items = @[@"Hello world", anImage];
   NSSharingServicePicker *picker = [[NSSharingServicePicker alloc] initWithItems:items];
   picker.delegate = self;
   [picker showRelativeToRect:NSZeroRect
       ofView:sender
       preferredEdge:NSMinYEdge];
}


Resources