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

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

被折叠的 条评论
为什么被折叠?



