¿Cómo mostrar la hoja de acción compartida de iOS 6 pnetworkingeterminada con las opciones de acciones disponibles?

Algunas aplicaciones muestran una hoja de acción pnetworkingeterminada en iOS 6 con opciones para compartir.

Social Framework solo tiene dos classs, una para componer y otra para solicitar.

Sin embargo, lo que encontré es componer para un service particular con SLComposeViewController y, antes de mostrar esto, debo consultar a mano si el service está disponible. Y luego también tengo que crear mi propia hoja de acción con icons propios.

¿Cómo muestran esas aplicaciones esta hoja de acción de opciones de acciones pnetworkingeterminadas en iOS 6? ¿O están usando un marco de código abierto?

El UIActivityViewController indicado en la otra respuesta lo hace trivial. Todo lo que tiene que hacer es especificar el text / image / URL que desea compartir y presentar el controller de vista de actividad de forma modal, y iOS mostrará automáticamente todos los services de uso compartido correspondientes. Ejemplos:

C objective

- (void)shareText:(NSString *)text andImage:(UIImage *)image andUrl:(URL *)url { NSMutableArray *sharingItems = [NSMutableArray new]; if (text) { [sharingItems addObject:text]; } if (image) { [sharingItems addObject:image]; } if (url) { [sharingItems addObject:url]; } UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:sharingItems applicationActivities:nil]; [self presentViewController:activityController animated:YES completion:nil]; } 

Rápido

 func share(sharingText: String?, sharingImage: UIImage?, sharingURL: URL?) { let sharingItems:[AnyObject?] = [ sharingText as AnyObject, sharingImage as AnyObject, sharingURL as AnyObject ] let activityViewController = UIActivityViewController(activityItems: sharingItems.flatMap({$0}), applicationActivities: nil) if UIDevice.current.userInterfaceIdiom == .pad { activityViewController.popoverPresentationController?.sourceView = view } present(activityViewController, animated: true, completion: nil) } 

Agregue esto para usar UIActivityViewController .

 -(IBAction)shareButtonPressed:(id)sender { NSLog(@"shareButton pressed"); NSString *texttoshare = _txt; //this is your text string to share UIImage *imagetoshare = _img; //this is your image to share NSArray *activityItems = @[texttoshare, imagetoshare]; UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil]; activityVC.excludedActivityTypes = @[UIActivityTypeAssignToContact, UIActivityTypePrint]; [self presentViewController:activityVC animated:TRUE completion:nil]; }