ios开发苹果内置分享(原生分享)
2017-08-29 13:58
162 查看
在哪儿实现直接调用这个方法直接上代码#pragma mark - share action- (void)shareAction:(NSString *)musicPath{ NSString *dicript =@"Give you a song"; NSURL *url = [NSURLfileURLWithPath:musicPath]; NSArray * activityItems = @[dicript,url]; UIActivityViewController * activityVC = [[UIActivityViewControlleralloc] initWithActivityItems:activityItemsapplicationActivities:nil]; UIActivityViewControllerCompletionWithItemsHandler myBlock = ^(UIActivityType__nullable activityType, BOOL completed,NSArray * __nullable returnedItems,NSError * __nullable activityError){ if (completed) { //分享完成 [ToastUtilsshowHud:@"分享成功"];//此tost为自己封装的所以这句不用复制 }else{ //分享失败 [ToastUtilsshowHud:@"分享失败,请重试"];//此tost为自己封装的所以这句不用复制 } [activityVC dismissViewControllerAnimated:YEScompletion:nil]; }; activityVC.completionWithItemsHandler = myBlock; activityVC.excludedActivityTypes = @[UIActivityTypePostToFacebook, UIActivityTypePostToTwitter, UIActivityTypePostToWeibo, UIActivityTypeMessage, UIActivityTypeMail, UIActivityTypePrint, UIActivityTypeCopyToPasteboard, UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll, UIActivityTypeAddToReadingList, UIActivityTypePostToFlickr, UIActivityTypePostToVimeo, UIActivityTypePostToTencentWeibo, UIActivityTypeAirDrop, UIActivityTypeOpenInIBooks]; [selfpresentViewController:activityVCanimated:YEScompletion:nil];}
以上是我的需求将自己本地的音频分享给其他平台当然到哪个平台是可指定的你认真看会发现 activityVC.excludedActivityTypes属性的数组中添加的全是将要使用到的,例如UIActivityTypePostToTencentWeibo(微博tencen代表腾讯)UIActivityTypePostToFacebook(facebook)由于好朋友们可能会涉及到其他的分享下面我为大家例举几种常用的形式
1. 图片+文字
- (void)shareImage { NSString *textToShare = @“接你的url”; // load你要分享的图片,通过bundle或者沙盒,或者name UIImage *imageToShare = [UIImage xxxx]; [self shareWithActivityItems: @[textToShare, imageToShare]]; }
2. 视频+文字或者音频+文字(也就是我的项目需求)
此处分享的是本地视频,self.moviePath是本地视频沙盒路径视频分享弹窗.png- (void)shareVideo {
NSString *textToShare = @“接你的url”;NSURL *urlToShare = [NSURL fileURLWithPath:self.moviePath]; [self shareWithActivityItems: @[textToShare,urlToShare]];}
3. GIF+文字
这个需求几乎没有不,试了一下打开却是静图。因为: 图片太大了。合成GIF的时候,没有对图片进行处理,图片过大导致分享出去打开是静图而在PC端可以正常打开。- (void)shareGIF{NSString *textToShare = @“接你的url”;NSURL *urlToShare = [NSURL fileURLWithPath:self.gifPath];[self shareWithActivityItems: @[textToShare,urlToShare]];}
相关文章推荐
- 微信开发 url传参数 json 导致 ios 微信分享失败苹果手机sinature签名无效
- iOS学习资料分享 -- 苹果官方iPhone应用高级开发课程(16集)
- iOS开发 实现原生分享 可以跳过选择面板,分享多个文件
- iOS学习资料分享 -- 苹果官方iPhone应用高级开发课程(16集)
- 苹果开发 笔记(81)ios 调用微信分享链接
- iOS学习资料分享 -- 苹果官方iPhone应用高级开发课程(16集)
- iOS开发之调用系统原生分享功能
- iOS 6苹果地图应用(MapKit)-内置开发
- [IOS开发]苹果推送机制APNs(二)
- IOS开发教程之put上传文件的服务器的配置及实例分享-备用
- ios开发学习--按钮(Button)效果源码分享--系列教程2
- iOS应用程序开发之应用间的跳转(用着微信等第三方分享登陆)
- Node.app:用Node.js API开发iOS“原生”应用
- iOS原生项目集成Cordova混合开发
- ios开发之 苹果审核被拒,使用第三方登录,但手机没有安装客户端的平台
- iOS开发调用苹果自带的地图应用
- 分享一些iOS开发实用的小技巧
- iOS内置付费开发笔记
- 工具分享:GameplayKit苹果手游开发工具简析
- iOS原生开发获取当前设备日期与时间