随着微信平台运用越来越普遍,在app中往往需要将看到的消息发送给微信好友,分享到朋友圈,因此就需要添加微信分享的功能。我们可以通过微信的开发者平台上的相关文档来实现这个简单的功能。
1.在微信开发者平台注册应用程序的id,通过审核后可以获得一个appid
2.有了appID后下载最新的微信终端sdk文件,SDK文件包括 libWeChatSDK.a,WXApi.h,WXApiObject.h 这三个。资料下载页面:
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319164&lang=zh_CN
3.在xcode中的工程拖入上面的三个文件,添加相应类库:
(1).SystemConfiguration.framework
(2).libz.dylib
(3).libsqlite3.0.dylib
(4).libc++.dylib
(5).(在ios9.0中添加)CoreTelephony.framework
ios9.0不添加此类库会出现这个报错: "_OBJC_CLASS_$_CTTelephonyNetworkInfo", referenced from:
4.在你的工程文件中选择Build Setting,在Search Paths中添加 libWeChatSDK.a ,WXApi.h,WXApiObject.h 三个文件所在位置
5.在Xcode中,选择你的工程设置项,选中“TARGETS”一栏,在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程序id
以下在工程文件中操作:
6. 在appdelegate文件中使用微信终端API的文件中import WXApi.h 头文件,并增加 WXApiDelegate 协议。
7.重写AppDelegate的handleOpenURL和openURL方法:
8.现在,你的程序要实现和微信终端交互的具体请求与回应,因此需要实现WXApiDelegate协议的两个方法:
-(void) onReq:(BaseReq*)reqonReq
此方法是微信终端向第三方程序发起请求,要求第三方程序响应。第三方程序响应完后必须调用sendRsp返回。在调用sendRsp返回时,会切回到微信终端程序界面。
-(void) onResp:(BaseResp*)resp
如果第三方程序向微信发送了sendReq的请求,那么onResp会被回调。sendReq请求调用后,会切到微信终端程序界面。
9.在你的程序要发消息给微信的地方,调用WXApi的sendReq函数:
-(BOOL) sendReq:(BaseReq*)req
实例Demo: