注:本文為微信iOS終端SDK的新手使用教程,只涉及教授SDK的使用方法,默認(rèn)讀者已經(jīng)熟悉XCode開發(fā)工具的基本使用方法,以及具有一定的編程知識基礎(chǔ)等。
1.向微信注冊你的應(yīng)用程序id
請到 開發(fā)者應(yīng)用登記頁面 進(jìn)行登記,登記并選擇移動(dòng)應(yīng)用進(jìn)行設(shè)置后,將獲得AppID,獲得APPID時(shí)間沒有傳說中的那么久,半天一天就好了,然后立即用于開發(fā)。但應(yīng)用登記完成后還需要提交審核,只有審核通過的應(yīng)用才能正式發(fā)布使用。
2.下載微信終端SDK文件
SDK文件包括 libWeChatSDK.a,WXApi.h,WXApiObject.h 三個(gè)。
請前往“資源下載頁”下載最新SDK包
3.搭建開發(fā)環(huán)境
[1] 在XCode中建立你的工程。
[2] 將SDK文件中包含的 libWeChatSDK.a,WXApi.h,WXApiObject.h 三個(gè)文件添加到你所建的工程中(如下圖所示,建立了一個(gè)名為Test 的工程,并把以上三個(gè)文件添加到Test文件夾下)。
(注:請使用xCode4.5及以上版本)
[3]
微信開放平臺(tái)新增了微信模塊用戶統(tǒng)計(jì)功能,便于開發(fā)者統(tǒng)計(jì)微信功能模塊的用戶使用和活躍情況。開發(fā)者需要在工程中鏈接
上:SystemConfiguration.framework,libz.dylib,libsqlite3.0.dylib,libc++.dylib,Security.framework,CoreTelephony.framework。
[4] 在你的工程文件中選擇Build Setting,在Search Paths中添加 libWeChatSDK.a ,WXApi.h,WXApiObject.h 三個(gè)文件所在位置(如下圖所示)。
(注:請使用xCode4.5及以上版本)
[5] 在Xcode中,選擇你的工程設(shè)置項(xiàng),選中“TARGETS”一欄,在“info”標(biāo)簽欄的“URL type“添加“URL scheme”為你所注冊的應(yīng)用程序id(如下圖所示)。
Xcode設(shè)置URL scheme
[5] 在你需要使 用微信終端API的文件中import WXApi.h 頭文件,并增加 WXApiDelegate 協(xié)議。
4.在代碼中使用開發(fā)工具包
[1] 要使你的程序啟動(dòng)后微信終端能響應(yīng)你的程序,必須在代碼中向微信終端注冊你的id。(如下圖所示,在 AppDelegate 的 didFinishLaunchingWithOptions 函數(shù)中向微信注冊id)。
[2] 重寫AppDelegate的handleOpenURL和openURL方法:
[3] 現(xiàn)在,你的程序要實(shí)現(xiàn)和微信終端交互的具體請求與回應(yīng),因此需要實(shí)現(xiàn)WXApiDelegate協(xié)議的兩個(gè)方法:
-(void) onReq:(BaseReq*)reqonReq是微信終端向第三方程序發(fā)起請求,要求第三方程序響應(yīng)。第三方程序響應(yīng)完后必須調(diào)用sendRsp返回。在調(diào)用sendRsp返回時(shí),會(huì)切回到微信終端程序界面。
-(void) onResp:(BaseResp*)resp如果第三方程序向微信發(fā)送了sendReq的請求,那么onResp會(huì)被回調(diào)。sendReq請求調(diào)用后,會(huì)切到微信終端程序界面。
具體在此兩方法中所要完成的內(nèi)容由你定義,具體可參考微信開發(fā)工具包中的SDK Sample Demo源碼。
[4] 如果你的程序要發(fā)消息給微信,那么需要調(diào)用WXApi的sendReq函數(shù):
-(BOOL) sendReq:(BaseReq*)req其中req參數(shù)為SendMessageToWXReq類型。
需
要注意的是,SendMessageToWXReq的scene成員,如果scene填WXSceneSession,那么消息會(huì)發(fā)送至微信的會(huì)話內(nèi)。如
果scene填WXSceneTimeline,那么消息會(huì)發(fā)送至朋友圈。如果scene填WXSceneFavorite,那么消息會(huì)發(fā)送到“我的收
藏”中。scene默認(rèn)值為WXSceneSession。
[5]應(yīng)該會(huì)遇到的問題,報(bào)了各種變異不過,那說明你沒有看微信SDK的那個(gè)read me,既然沒看,就看我吧?
對的,就是導(dǎo)入這六個(gè)庫,解決!