iOS 微信分享

本文介绍了如何在iOS应用中实现微信分享功能,包括准备微信AppId,导入SDK,设置URL Types,添加白名单,注册微信,处理回调,以及代码实现文字、图文和链接的分享。同时提到了在回调中判断分享状态并发送通知的细节。

iOS-微信-分享

Posted on 2016-08-25 18:24 iOS_满聪 阅读(6358) 评论(2)  编辑 收藏

一.微信原生的分享--准备工作.

1. 需要申请微信AppId.

2. 导入系统架包.

SDK文件包括 libWeChatSDK.a,WXApi.h,WXApiObject.h,WechatAuthSDK.四个.

3.导入必要的系统库.

     SystemConfiguration.framework,

     libz.dylib,

     libsqlite3.0.dylib,

     libc++.dylib,

     CoreTelephoy.framework (坑一: 这个库是必要的,但是微信官方文档中没有说到要导入)

4. 该项目中的Bundle Identifier 应该填向微信注册的Bundle Identifier

5. 注册微信 (回调的时候用到,告诉微信,从微信返回到哪个APP)

 Target --> info --> URL Types --> +按钮 --> 填写identifier 和 URL Schemes. 前一个是标识符,一般填@"weixin".后一个是注册的微信appId. 比如"wx19a984b788a8a0b1".(注释: 假的appid)

 6. 添加微信白名单

  info.plist --> 右击 --> open as  --> source Code --> 添加白名单

我是在<key>CFBundleVersion</key>这一行上面添加的. 注意保持正确的键值对.别插错了.

 

二. 代码部分.

1.

AppDelegate.h中

(1) 导入

#import "WXApi.h"

 (2) 遵守协议

WXApiDelegate

2. WXApiDelegate.m中

1.注册微信

复制代码

 

复制代码

2.跳转处理

复制代码

 

复制代码

3.微信回调

- (void)onResp:(BaseResp *)resp

{

    /*

     WXSuccess           = 0,   成功

    WXErrCodeCommon     = -1,   普通错误类型

    WXErrCodeUserCancel = -2,   用户点击取消并返回

    WXErrCodeSentFail   = -3,    发送失败

    WXErrCodeAuthDeny   = -4,   授权失败

    WXErrCodeUnsupport  = -5,    微信不支持

     */

    NSString * strMsg = [NSString stringWithFormat:@"errorCode: %d",resp.errCode];

    NSLog(@"strMsg: %@",strMsg);

    

    NSString * errStr       = [NSString stringWithFormat:@"errStr: %@",resp.errStr];

    NSLog(@"errStr: %@",errStr);

    

    

    NSString * strTitle;

    //判断是微信消息的回调 --> 是支付回调回来的还是消息回调回来的.

    if ([resp isKindOfClass:[SendMessageToWXResp class]])

    {

        

        // 判断errCode 进行回调处理

        if (resp.errCode == 0)

        {

            strTitle = [NSString stringWithFormat:@"分享成功"];

        }

    }

    

    //发出通知 从微信回调回来之后,发一个通知,让请求支付的页面接收消息,并且展示出来,或者进行一些自定义的展示或者跳转

    NSNotification * notification = [NSNotification notificationWithName:@"WXShare" object:resp.errStr];

    [[NSNotificationCenter defaultCenter] postNotification:notification];

}

3.在分享按钮的控制器.m页面

(1) 导入

 #import "WXApi.h"

#import "WechatAuthSDK.h"

#import "WXApiObject.h"

 

/**

 scene: 发送的目标场景,可以选择发送到会话(WXSceneSession)或者朋友圈(WXSceneTimeline),默认发送到会话.

        1.分享或收藏的目标场景,通过修改scene场景值实现。

        2.发送到聊天界面——WXSceneSession

        3.发送到朋友圈——WXSceneTimeline

        4.添加到微信收藏——WXSceneFavorite

 */

/** bText:

 发送消息的类型.包括文本消息和多媒体消息两种.两者只能选择其一.不能同时发送文本和多媒体消息.

  */

 

// 接收分享完成回调通知

复制代码

 

复制代码

 

 

(2) 分享文字

复制代码

 

复制代码

(3)分享图文

复制代码

 

复制代码

(4)分享链接

复制代码

 

复制代码

 

三.代码

1. Appdelegate.h

复制代码

 

复制代码

2.Appdelegate.m

复制代码

 

复制代码

3. ViewController.h

 

4. ViewController.m

复制代码

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值