隨着微信平台運用越來越普遍,在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: