按照常例,列一些網址先:
開放平台首頁: http://open.weixin.qq.com
iOS SDK 官方: http://open.weixin.qq.com/download/sdk/wechat_sdk_ios.zip
分享好友API調用官方使用教程: http://open.weixin.qq.com/document/gettingstart/ios/?lang=zh_CN
目前來說:開放平台主要提供兩個API:
1:將資訊分享給好友
2:將資訊直接分享至朋友圈
其實官方教程已經非常詳細了,我也是按照官方的一步步來得以實現,
那為什麼寫這篇教程? 有一個最主要的目的是,減少沒必要的時間開銷,以及一些官方教程上面提到的一些盲區.
開始:
將資料分享給好友總共5個步驟,注意:不要亂了順序:
1:在工程Plist檔案中添加一個 URL type "URL scheme”為你所註冊的應用程式id,既AppID
2:引入標頭檔,在介面處聲明要實現的委託.
3:將申請的AppID 註冊, 這個方法不調用,是無法啟動用戶端的.
[WXApi registerApp:WeiXinAppID]
4:在AppDelegate中實現如下委託來接收來自用戶端的回調響應:
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{ //如果涉及其他應用互動,請做如下判斷,例如:還可能和新浪微博進行互動 if ([url.scheme isEqualToString:WeiXinAppID]) { return [WXApi handleOpenURL:url delegate:self]; }else { return YES; }}
5:通過調用如下方法及參數 來 立刻顯示用戶端
SendMessageToWXReq *sendMsg = [[SendMessageToWXReq alloc] init];sendMsg.text = @"123";sendMsg.bText = YES;[WXApi sendReq:sendMsg];
6:當介面的返回按鈕被點擊時,用戶端會回調之前啟用自己的應用,此處觸發通用的UIApplicationDelegate 代理,也就是第四點.
當執行 [WXApi handleOpenURL:url delegate:self] 以後 觸發API內建的委託:
-(void)onResp:(BaseResp *)resp{ NSLog(@"%@",resp); NSLog(@"errStr %@",[resp errStr]); NSLog(@"errCode %d",[resp errCode]); NSLog(@"type %d",[resp type]);}
自此,整個應用與用戶端互動就結束了.
Date:2013-1-5 21:13
如果的SDK在工作空間的環境下使用 並在工程設定檔的 Other Linker Flags 中設定了 -all_load
那麼會真機編譯時間產生編譯錯誤,也不知道是到底是什麼檔案出了問題,那麼這時 就不要使用-all_load了, 使用 -force_load