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