美文网首页ios开发上海恩美路演IOS
23- iOS项目/APP瘦身—OpenShare从三方登录,分

23- iOS项目/APP瘦身—OpenShare从三方登录,分

作者: 春田花花幼儿园 | 来源:发表于2016-11-25 23:49 被阅读1283次

    iOS项目安装包瘦身—OpenShare从三方登录,分享,支付开始

    前言

    系统瘦身是老生常谈的问题,以笔者自己公司的app为例子,功能和业务逻辑病不复杂,但是在没有瘦身之前,引入微信和支付宝官方的SDK,项目增加了60M多,更不要说还没有引入的微博,QQ等其他主流的分享了. 因此,项目打包之后的.ipa文件到了神奇的58M,售后部门在下载的时候颇多抱怨. 我想开发者看到这种情形,自己也不好意思.
    那么,项目瘦身,势在必行了.

    从哪些方面瘦身

    之前看到给朋友安特我的一篇文章《iOS安装包瘦身指南》,这篇文章列举了iOS项目可以瘦身的地方,文章最后,指出了引入第三方完成一些功能所要实现的代价.尤其是这句话,值得我们重视:

    引入第三方库要慎重评估是否值得,有时候为了一个功能引入了一个很大的第三库,造成ipa size的显著增加,但是其实你只用到了其中一小部分功能,这个时候可以考虑自己实现其功能,而不是引入该库。

    这篇文章就是从引入第三方的角度,给大家推荐一个开源项目.

    OpenShare

    先上项目地址:OpenShare
    简单的介绍下,OpenShare是作者因为上述原因,所以专门调试了一下各个平台的SDK,研究了各个厂商实现的应用程序间通信的规则,在不使用官方SDK的基础上,对官方SDK提供的

    • 登录
    • 分享
    • 支付

    三个核心功能的封装. 其设计思路,在作者的项目介绍和相关文章中提供了详细的说明.我这里就不赘述了.

    但是OpenShare并没有对界面进行,另外相对我们自己的项目,它其实也还是第三方,所以,我依然对其进行了简单的封装,并且模仿即刻的分享界面增加了分享界面.
    关于使用方面,作者的Demo中使用其实已经足够简单,我这里只是以微信分享为例子,进行了封装,其余的平台,大家可以自行在其上边扩展.

    封装

    1. 分享注意点
      关于分享的各个注意点和可能出现的问题,我之前也写过《shareSDK的 Demo 和社会化分享小结》 和示例代码LLShareSDKTool,关于这一部分,大家可以移步看这里.

    2. 注册分享参数
      关于分享参数的注册,并没有放到Appdelegate文件中,尽可能的减少对程序启动的干扰,什么时候用到什么调用.
      另外,在之前的LLShareSDKTool中和Miss唐的友盟分享中,点击分享之后再注册,会有1~2秒的卡顿,不知道是不是这两个三方分享集成平台自身对官方SDK处理不合理的问题.

    重点来了,在OpenShare则不会出现这种问题.

    1. 分享,分享回调.
      根据分享的内容,调用具体的分享方法,分享完毕后,获取分享的回调.

    2. 调用分享界面
      注册分享参数完成之后,直接调用分享界面就可以执行分享了.

    所以整个使用代码就是

    //1. 注册分享参数
    [LLOpenShareTool sharedInstance] registerShareWeChatWithAppID:@xxx" sinaWithAppKey:@"xxx" QQWithAppKey:@"xxx"];
    //2. 调用分享方法,这里以分享链接为例子
    [[LLOpenShareTool sharedInstance] WeChatShareURLWithTitle:@"分享链接" shareURL:@"www.lilongcnc.cc" urlImage:[UIImage imageNamed:@"test"] successFromChat:^{
        NSLog(@"分享链接成功");
    } failureFromChat:^(NSString *failureInfo) {
        
        NSLog(@"分享链接失败:%@",failureInfo);
    } successFromFriend:^{
        NSLog(@"分享链接成功");
        
    } failureFromFriend:^(NSString *failureInfo) {
        NSLog(@"分享链接失败:%@",failureInfo);
    }];
    //3. 调用分享界面
    [[LLOpenShareTool sharedInstance] show];
    

    项目的完整地址: LLOpenShareTool

    交流


    希望能和大家交流技术

    GitHub:https://github.com/lilongcnc
    Blog:http://www.lilongcnc.cc


    相关文章

      网友评论

      • c170dc2aa789:这个可以实现第三方账号授权登录不?
      • 371429183029:OpenShare 作者好像好长时间都没有更新了, 用的时候好像有bug的地方.
        春田花花幼儿园:@月影九重 这个我在作者的Issues里边看到过,这个你自己按照官方的格式发一个请求就行了,就会返回的
        371429183029:@春田花花幼儿园 微信登陆后没有回传用户信息
        春田花花幼儿园:@月影九重 比如哪个地方呢?

      本文标题:23- iOS项目/APP瘦身—OpenShare从三方登录,分

      本文链接:https://www.haomeiwen.com/subject/wwbwpttx.html