TSShareHelper 1.0.3

TSShareHelper 1.0.3

dylan 维护。



TSShareHelper  提醒一下各位,由于 iOS11 不支持,所以跳过选择页面不行了(目前判断了版本先用原生分享界面,让用户手动选微信吧)

功能:实现 iOS 系统分享功能不经过选择,直接进入或进行选择。新增视频、文件的分享。已判定版本,做了回调处理。

  • 微信(iOS11之前支持直接弹出页面前三个)
  • QQ
  • 新浪
  • 原生选择界面(iOS11自动选择该 type,请注意代码)

注意:其中传入的 items 包含 UIImage 或者 NSURL 的数组

/**
分享方法

@param type 分享类型
@param controller 展示的控制器
@param items 所有的分享对象 可以包括的类型是<UIimage NSURL>两种类型
@param completion 分享的回调 YES:成功 NO:失败
@return 返回分享结果 如果是No表示没有安装,请自行处理.
*/
+ (BOOL)shareWithType:(TSShareHelperShareType)type
        andController:(UIViewController *)controller
             andItems:(NSArray *)items
        andCompletion:(TSShareHelperCompleteHandler)completion;

效果图

具体实现

  • 调用系统的分享选择界面其实就是 UIActivityViewController

    其中第一个参数传入分享的对象(图片、url、string 等等)第二个参数可以传入自定义 UIActivity,即选择界面的视图模型

        UIActivityViewController * activityCtl = [[UIActivityViewController alloc]initWithActivityItems:items applicationActivities:nil];
        [controller presentViewController:activityCtl animated:YES completion:nil];
  • 跳过选择直接进入系统的分享主要是下面的代码,如果有其他类型分享,可以使用官方提供类型,也可以根据最下面的注释中的类型进行选择
    SLComposeViewController *composeVC = [SLComposeViewController composeViewControllerForServiceType:serviceType];
    [composeVC addImage:(UIImage *)obj];
    [controller presentViewController:composeVC animated:YES completion:nil];