目前绝大多数App都会有分享功能,以便于用户推广,譬如shareSDK等第三方被广泛应用,但是却需要注册账号,集成sdk等一系列复杂操作,今天来给大家说一下系统原生的分享是怎么实现的?
话不多说, 直接上代码
- (void)shareAction { NSString *textToShare = @"发给我看看 笨蛋"; NSURL *urlToShare = [NSURL URLWithString:@"http://www.baidu.com"]; NSArray *activityItems = @[textToShare, urlToShare]; [self shareWithContentArray:activityItems]; } - (void)shareWithContentArray:(NSArray *)contentArray { UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:contentArray applicationActivities:nil]; // activityVC.excludedActivityTypes = @[UIActivityTypePostToFacebook,UIActivityTypePostToTwitter, UIActivityTypePostToWeibo,UIActivityTypeMessage,UIActivityTypeMail,UIActivityTypePostToTencentWeibo,UIActivityTypeAirDrop,UIActivityTypeOpenInIBooks]; activityVC.completionWithItemsHandler = ^(NSString *activityType,BOOL completed,NSArray *returnedItems,NSError *activityError) { NSLog(@"%@", activityType); if (completed) { // 确定分享 NSLog(@"分享成功"); } else { NSLog(@"分享失败"); } }; [self presentViewController:activityVC animated:YES completion:nil]; }系统提供很多分享途径供大家选择, 如下
UIActivityTypePostToFacebook UIActivityTypePostToTwitter UIActivityTypePostToWeibo // SinaWeibo UIActivityTypeMessage UIActivityTypeMail UIActivityTypePrint UIActivityTypeCopyToPasteboard UIActivityTypeAssignToContact UIActivityTypeSaveToCameraRoll UIActivityTypeAddToReadingList UIActivityTypePostToFlickr UIActivityTypePostToVimeo UIActivityTypePostToTencentWeibo UIActivityTypeAirDrop UIActivityTypeOpenInIBooks当然如果感觉系统分享界面不够美观也可以自定义界面,在此就不在多说了, 有兴趣的童鞋可以尝试下!