1、使用微信分享首先需要在微信開放平臺(點擊鏈接)申請, 按照要求填寫應用信息,審核通過后獲取到微信APPID和APPsecret
在APPdelegate.m文件中增加對應下面的配置
#import "UMSocial.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
//設置友盟社會化組件appkey
[UMSocialData setAppKey:UmengAppkey];
//設置微信AppId、appSecret,分享url
[UMSocialWechatHandler setWXAppId:@"wxd930ea5d5a258f4f" appSecret:@"db426a9829e4b49a0dcac7b4162da6b6" url:@"http://www.umeng.com/social"];
}
1.2 配置系統回調
在APPdelegate.m中增加下面的系統回調配置,注意如果同時使用微信支付、支付寶等其他需要改寫回調代理的SDK,請在if分支下做區分,否則會影響 分享、登錄的回調
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
BOOL result = [UMSocialSnsService handleOpenURL:url];
if (result == FALSE) {
//調用其他SDK,例如支付寶SDK等
}
return result;
}
1.3 配置URL scheme
在你的工程設置項,targets 一欄下,選中自己的 target,在 Info->URL Types 中添加 URL Schemes。如果使用的是Xcode3或更低版本,則需要在plist文件中添加。獲取各個平臺appkey或者appid的方法可以參考分享詳細文檔綁定各個平臺部分,各個平臺的url scheme格式如下表:
1.4 設置分享文本、圖片
1.4.1 使用默認UI風格
打開需要集成分享功能的視圖源碼UIViewController.m
,把如下代碼復制并粘貼到你將彈出一個分享列表的位置,例如到響應分享按鈕的方法中。并且修改下面的友盟appkey,你要分享的文字、圖片,你要分享到的微博平臺,例如下面寫的是新浪微博、QQ、微信。
//UMShareToWechatSession(微信好友),UMShareToWechatTimeline(微信朋友圈),UMShareToWechatFavorite(微信收藏)
[[UMSocialDataService defaultDataService] postSNSWithTypes:@[UMShareToWechatSession] content:@""內容 image:[UIImage imageNamed:@"圖片"] location:位置 urlResource:資源鏈接 presentedController:(UIViewController *)app.rootViewController completion:^(UMSocialResponseEntity *shareResponse){
if (shareResponse.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
}
}];
這里只介紹這種分享,還有其他的類型的分享,
UMSocialDataService.h中有,詳細的介紹。
注意: 1. 支持分享編輯頁和授權頁面橫屏,必須要在出現列表頁面前設置:
[UMSocialConfig setSupportedInterfaceOrientations:UIInterfaceOrientationMaskLandscape];
默認為豎屏的。
實現回調方法。
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response{
//根據`responseCode`得到發送結果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess) { //得到分享到的平臺名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
}
}
處理分享錯誤
用下面的代碼打開我們SDK在控制臺的輸出后能看到相應的錯誤碼。
[UMSocialData openLog:YES];
2.0 添加相關文件
2.1在UMSocial_Sdk_Extra_Frameworks目錄下,添加Wechat文件夾到工程
添加SDK依賴的系統庫文件。
在Xcode中打開工程配置文件,選擇“summary”一欄。在“summary”中選擇“Linked Frameworks and Libraries”一欄,點擊“+”圖標添加下面八個庫文件,分別是:
Security.framework
libiconv.dylib
SystemConfiguration.framework
CoreGraphics.Framework
libsqlite3.dylib
CoreTelephony.framework
libstdc++.dylib
libz.dylib
2.2 設置點擊分享內容跳轉鏈接
當分享消息類型為圖文時,點擊分享內容會跳轉到預設的鏈接,設置方法如下
[UMSocialData defaultData].extConfig.wechatSessionData.url = @"http://baidu.com";
如果是朋友圈,則替換平臺參數名即可
[UMSocialData defaultData].extConfig.wechatTimelineData.url = @"http://baidu.com";
注意設置的鏈接必須為http或https鏈接
2.3 設置title
設置微信好友title方法為
[UMSocialData defaultData].extConfig.wechatSessionData.title = @"微信好友title";
設置微信朋友圈title方法替換平臺參數名即可
[UMSocialData defaultData].extConfig.wechatTimelineData.title = @"微信朋友圈title";
2.4 設置分享消息類型
微信分享消息類型分為圖文、純圖片、純文字、應用三種類型,默認分享類型為圖文分享,即展示分享文字及圖片縮略圖,點擊后跳轉到預設鏈接
純圖片分享類型方法為
[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeImage;
純圖片分享類型沒有文字,點擊圖片可以查看大圖
純文字分享類型方法為
[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeText;
純文字分享類型沒有圖片,點擊不會跳轉
應用分享類型方法
[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeApp;
應用分享類型如果用戶已經安裝應用,則打開APP,如果為安裝APP,則提示未安裝或跳轉至微信開放平臺