官方文檔:微信開放平臺
向微信注冊應用程序id
到開發者應用登記頁面
進行登記,登記并選擇移動應用進行設置后,將獲得AppID,可立即用于開發。但應用登記完成后還需要提交審核,只有審核通過的應用才能正式發布使用。
搭建開發環境
- 通過終端在工程的Podfile里面添加以下代碼:
platform :ios, '8.0'
target '工程名' do
pod 'WechatOpenSDK'
end
保存并
pod install
設置工程項
在Xcode中,選擇工程設置項,在“info”標簽欄的“URL type“添加“URL scheme”為你所注冊的應用程序id(AppID)。identifier
為weixin
,URL Schemes
為所注冊的應用程序id。
設置AppDelegate
導入#import <WXApi.h>,并加入<WXApiDelegate>協議
在
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
中向微信終端注冊AppID,寫入[WXApi registerApp:@"wxfba72eb585ced789"];
重寫AppDelegate的handleOpenURL和openURL方法
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
return [WXApi handleOpenURL:url delegate:self];
}
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
return [WXApi handleOpenURL:url delegate:self];
}
- 如果App要發消息給微信,那么需要調用WXApi的sendReq函數:
-(BOOL) sendReq:(BaseReq*)req
實現分享功能
導入#import <WXApi.h>
分享或收藏的目標場景,通過修改scene場景值實現。共分為以下四種場景:
發送到聊天界面——WXSceneSession
發送到朋友圈——WXSceneTimeline
添加到微信收藏——WXSceneFavorite
- 分享類型,具體查看微信開發文檔。此處以最常用的網頁類型分享為例。
WXMediaMessage * message = [WXMediaMessage message];
message.title = @"這是一個分享標題";
message.description = @"我是分享內容";
[message setThumbImage:[UIImage imageNamed:@"這是一張圖片"]];
WXWebpageObject * webPageObject = [WXWebpageObject object];
//webPageObject.webpageUrl = @"https://douban.fm/?from_=shire_top_nav#/channel/153";
webPageObject.webpageUrl = @"這是一個鏈接";
message.mediaObject = webPageObject;
SendMessageToWXReq * req1 = [[SendMessageToWXReq alloc]init];
req1.bText = NO;
req1.message = message;
//設置分享到朋友圈(WXSceneTimeline)、好友回話(WXSceneSession)、收藏(WXSceneFavorite)
req1.scene = WXSceneSession;
[WXApi sendReq:req1];
- 圖片大小有限制,如果分享鏈接中的圖片太大則分享會失敗,無法跳轉至微信,也不會有任何提示。
- 部分分享的文字為敏感詞,可能會出現分享中展示的圖片不顯示(經測試分享的字段中包含“拼”字,則圖片無法顯示)。