iOS 微信分享

作者: yyggzc521 | 来源:发表于2019-03-26 16:34 被阅读85次

    微信官方接入指南
    微信分享官方文档

    使用步骤

    1. 官方开发平台注册应用,一般3天左右通过

    2. pod安装SDK pod WechatOpenSDK

    3. 在Xcode中,选择你的工程设置项,选中“TARGETS”一栏,在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程序id


      URL type添加在微信开发平台注册的AppKey
    4. 实现相关方法和遵守协议

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
     {
        添加  APPID 是你在微信平台注册的程序里的
        [WXApi registerApp:appId];
        
        return YES;
    }
    
    -(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url 
    {
        
        return [WXApi handleOpenURL:url delegate:self];
    }
    
    -(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
        
        return [WXApi handleOpenURL:url delegate:self];
    }
    
    -(void)onReq:(BaseReq *)req
     {
    
    }
    // 从微信分享过后点击返回应用的时候调用
    - (void)onResp:(BaseResp *)resp 
    {
    }
    

    这是我简单封装了一下微信分享的SDK SFWeChatShareManager使用简单方便
    分享网页链接的使用

    /**
     分享网页
    
     @param title 标题
     @param description 描述
     @param thumbImage 缩略图
     @param webpageUrl 链接
     @param type 分享类型 0:聊天界面 1:朋友圈 2:收藏
     */
    + (void)shareToWechatWithWebTitle:(NSString *)title
                          description:(NSString *)description
                           thumbImage:(UIImage *)thumbImage
                           webpageUrl:(NSString *)webpageUrl
                                 type:(NSUInteger)type
    {
        WXMediaMessage *message = [WXMediaMessage message];
        message.title = title;
        message.description = description;
        [message setThumbImage:thumbImage];
    
        WXWebpageObject *webpageObject = [WXWebpageObject object];
        webpageObject.webpageUrl = webpageUrl;
        message.mediaObject = webpageObject;
    
        [self sendToWechatWithBText:NO message:message scene:type];
    }
    
    /**
     * 发送请求给微信
     * bText: 发送的消息类型
     * message: 多媒体消息结构体
     * scene: 分享的类型场景
     **/
    + (void)sendToWechatWithBText:(BOOL)bText message:(WXMediaMessage *)message scene:(NSUInteger)scene
    {
        SendMessageToWXReq *req = [[SendMessageToWXReq alloc]init];
        req.bText = bText;
        req.message = message;
        req.scene = (int)scene;
    
        [WXApi sendReq:req];
    }
    

    文件中还封装了分享图片、视频、文字、音乐,就不一一介绍了。可下载下来直接拖入工程中使用
    demo链接:https://github.com/gzc453645620/CodeData/tree/master/WeChatShare

    注意:
    • 缩略图大小不能超过32K
    • 我们的项目中有两个部门的业务都用到了微信,但是appid不一样所以每次调用微信功能的时候都registerApp一次,因为如果在appDelegate注册两次的话,后者会把前者覆盖。
    • 在注册registerApp之后再调用isWXAppInstalled否则会一直返回NO
      isWXAppInstalled 返回NO

    参考资料

    相关文章

      网友评论

        本文标题:iOS 微信分享

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