重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
调用下面的方法即可实现系统分享功能
创新互联建站是一家专业提供北安企业网站建设,专注与网站设计制作、网站制作、成都h5网站建设、小程序制作等业务。10年已为北安众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
//分享
- (IBAction)RespostClick_Action:(id)sender {
UIImage* image = [UIImage imageNamed:@"icon_share.png"];
NSString *text = @"I found an Awesome application software! InstaDown";
//;ls=1mt=8
NSURL *urlToShare = [NSURL URLWithString:[NSString stringWithFormat:@";ls=1mt=8",[HHLADSManager getValueFromjsondata:@"appid"]]];
NSArray *activityItems = @[text,image,urlToShare];
UIActivityViewController *avc = [[UIActivityViewController alloc]initWithActivityItems:activityItems applicationActivities:nil];
[self presentViewController:avc animated:TRUE completion:nil];
// 选中分享类型
[avc setCompletionWithItemsHandler:^(NSString * __nullable activityType, BOOL completed, NSArray * __nullable returnedItems, NSError * __nullable activityError){
// 显示选中的分享类型
NSLog(@"act type %@",activityType);
if (completed) {
NSLog(@"ok");
}else {
NSLog(@"no ok");
}
}];
UIPopoverPresentationController *popover = avc.popoverPresentationController;
if (popover) {
popover.sourceView = self.view;
popover.sourceRect = self.view.bounds;
popover.permittedArrowDirections = UIPopoverArrowDirectionUp;
}
}
在使用系统集成的时候,分享图片到微信或QQ等平台,报错不支持该类型的内容
在分享的时候需要把UIimage格式的图片转换成NSData类型的数据再分享就能成功了
ios跨软件分享是基于Share Extension和协议跳转实现的,本篇中讲主要讲解Share Extension是如何创建的。
shareExtension苹果在iOS8后开放给用户使用,俗称分享扩展是应用扩展的一种(包括:分享扩展,Today扩展、Action扩展、键盘扩展等等),分享扩展允许开发者扩展应用的自定义功能和内容,能够让用户在使用其他app时使用该项功能。扩展不是一个可以独立使用的应用,它必须依附在一个应用上才能发挥作用,有点像一个动态库,所有的app都可以使用,需要时系统会调用这个扩展,临时搭建一个环境来完成一些事情,完成后系统终止该扩展的运行。
1、打开项目设置,在TARGETS侧栏地下点击“+”号来创建一个新的Target,如图:
2、然后选择”iOS” - “Application Extension” - “Share Extension”,点击“Next”。如图:
3、给扩展起个名字,这里填写了“Share”,点击“Finish”。如图:
4、这时候会提示创建一个Scheme,点击“Activate”。如图:
那么,直到这里创建Share Extension的工作就算是完成了。接下来可以先进行一下编译运行。这里跟做App开发的时候会稍微有点不一样。因为Extension是需要Host App(宿主应用)来运行的。所以,XCode中会弹出界面让我们选择一个iOS的App来运行Extension。如图:
这里我选择了XCode建议的应用Safari,然后点击“Run”来进行调试运行。XCode会启动Safari,如图:
能看到Safari中间的分享按钮是灰色不可用的。别急,你还没打开一个网页呢_。我们随便点开一个网页,可以看到分享按钮变为激活状态。点击分享按钮就会弹出分享菜单,如图:
可以看到刚才建立的Share扩展已经显示在面板上了,如果你没有发现自己的扩展,那么你可以将菜单滑动到最右边,在“更多”选项中激活自己的扩展。如图:
我们点击自己创建的分享项,其弹出一个分享窗口。如图:
在iOS应用内将内容分享到Facebook,可通过接入Facebook SDK实现。官方网站:
接入Facebook SDK这里不做介绍。
可分享的内容为链接、图片、视频、多媒体(图片+视频),还可为分享的视频添加话题。
每一种分享内容都有对应的shareContent类型,并通过shareDialog分享到Facebook
分享内容到WhatsApp,只能通过openURL和原生系统分享的方式,官方网站:
分享图片只能使用iOS的系统分享,采用UIDocumentInteractionController
分享图片通过存入相册再分享
分享视频到Instagram,必须通过相册URL
在iOS应用内分享内容到VK,由VKsdk支持,sdk支持分享链接、文字和图片,通过VKShareDialogController进行交互,官方网站:
而本地视频只能通过系统原生分享的方式,传入相册视频url进行分享