友盟分享文檔
http://dev.umeng.com/social/ios/quick-integration#1_3
1.1 下載并安裝SDK
安裝SDK可以采用CocoaPods和手動下載兩種方式,選擇下面其中一種來集成即可译暂,以下只說手動集成方式
1.1.2 手動集成SDK
下載最新版的sdk:http://dev.umeng.com/social/ios/sdk-download
解壓后拖拽到項目里面
1.2 添加系統(tǒng)需要的framework
? 添加SDK后需要手動添加系統(tǒng)庫SystemConfiguration.framework
· 在other linker flags增加-ObjC 選項董瞻,并添加ImageIO 系統(tǒng)framework(實現(xiàn)新浪微博必須完成的步驟)
· 添加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
1.3 設(shè)置友盟appkey
· 獲取友盟Appkey躲查。如果你之前已經(jīng)在友盟注冊了應(yīng)用它浅,獲得了Appkey,可以繼續(xù)使用之前獲得Appkey镣煮。
· 如果你尚未在友盟注冊賬號姐霍,需要先注冊,注冊之后登錄你的賬號典唇,點擊添加新應(yīng)用
镊折,完成新應(yīng)用填寫之后,將進(jìn)入應(yīng)用管理頁面介衔。在該頁面就能得到Appkey
恨胚。
· 在代碼中設(shè)置你的友盟Appkey,在 AppDelegate
文件內(nèi)設(shè)置你的AppKey:
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//設(shè)置友盟的APPKey
[UMSocialDatasetAppKey:@"5770f246e0f55a863a000xxx"];
returnYES;
}
1.4 配置第三方平臺APPID及scheme
1.4.1 配置第三方APPID
這里只列出最常用的微信炎咖、QQ及新浪微博的配置方法赃泡,其他平臺如Facebook等請參考對應(yīng)文檔配置,申請平臺APPID請直接參考文檔申請第三方賬號
在APPdelegate.m文件中增加對應(yīng)下面的配置
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {
// //設(shè)置友盟的APPKey
// [UMSocialData setAppKey:@"5770f246e0f55a863a000976"];
//設(shè)置微信的AppId塘装,Appkey急迂,和分享URL,需要#import"UMSocialQQHandler.h"
[UMSocialWechatHandlersetWXAppId:@"wx6f2c2f302768cfxx"appSecret:@"309d97f1e1da94fdb3427fad32fc2bxx"url:@"http://www.umeng.com/social"];
//設(shè)置手機QQ 的AppId蹦肴,Appkey僚碎,和分享URL,需要#import"UMSocialQQHandler.h"
[UMSocialQQHandler setQQWithAppId:@"11055100xx"appKey:@"Y7ySWBJQU4CnKOxx"url:@"http://www.umeng.com/social"];
//打開新浪微博的SSO開關(guān)阴幌,設(shè)置新浪微博回調(diào)地址勺阐,這里必須要和你在新浪微博后臺設(shè)置的回調(diào)地址一致。需要#import"UMSocialSinaSSOHandler.h"
[UMSocialSinaSSOHandleropenNewSinaSSOWithAppKey:@"29067283xx" secret:@"340c14750dbe80ff125acecf953309xx" RedirectURL:@"http://sns.whalecloud.com/sina2/callback"];
return YES;
}
1.4.2 配置系統(tǒng)回調(diào)
在APPdelegate.m中增加下面的系統(tǒng)回調(diào)配置矛双,注意如果同時使用微信支付渊抽、支付寶等其他需要改寫回調(diào)代理的SDK,請在if分支下做區(qū)分议忽,否則會影響分享懒闷、登錄的回調(diào)。
//在APPdelegate.m中增加下面的系統(tǒng)回調(diào)配置,注意如果同時使用微信支付愤估、支付寶等其他需要改寫回調(diào)代理的SDK帮辟,請在if分支下做區(qū)分,否則會影響分享玩焰、登錄的回調(diào)
-(BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary<NSString*,id> *)options
{
BOOL rst=[UMSocialSnsServicehandleOpenURL:url];
if (rst==false)
{
}
return rst;
}
//添加系統(tǒng)回調(diào) 點擊返回才不會崩
- (BOOL)application:(UIApplication*)applicationopenURL:(NSURL *)url sourceApplication:(NSString *)sourceApplicationannotation:(id)annotation
{
BOOL result = [UMSocialSnsServicehandleOpenURL:url];
if (result == FALSE) {
//調(diào)用其他SDK由驹,例如支付寶SDK等
}
returnresult;
}
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity*)response
{
//根據(jù)`responseCode`得到發(fā)送結(jié)果,如果分享成功
if(response.responseCode== UMSResponseCodeSuccess)
{
//得到分享到的微博平臺名
NSLog(@"share to snsname is %@",[[response.data allKeys] objectAtIndex:0]);
}
}
1.4.3 配置URL scheme
1.5 設(shè)置分享文本、圖片
1.5.1 使用默認(rèn)UI風(fēng)格
適用人群:希望10分鐘集成從無到有實現(xiàn)分享的開發(fā)者
打開需要集成分享功能的視圖源碼UIViewController.m
昔园,把如下代碼復(fù)制并粘貼到你將彈出一個分享列表的位置蔓榄,例如到響應(yīng)分享按鈕的方法中。并且修改下面的友盟appkey默刚,你要分享的文字甥郑、圖片,你要分享到的微博平臺羡棵,例如下面寫的是新浪微博壹若、QQ、微信皂冰。
如在分享按鈕點擊方法里面寫:
首先需要 #import "UMSocial.h" 簽協(xié)議<UMSocialUIDelegate>
-(void)shareAction:(UIButton*)sender
{
//微信、微信朋友圈
[UMSocialData defaultData].extConfig.wechatTimelineData.title= 要分享的標(biāo)題;
[UMSocialData defaultData].extConfig.wechatSessionData.url= 要分享的url;
//QQ养篓、QQ空間
[UMSocialData defaultData].extConfig.qqData.url=要分享的url;
[UMSocialData defaultData].extConfig.qzoneData.url=要分享的url;
[UMSocialSnsService presentSnsIconSheetView:self
appKey:@"友盟上申請的appkey"
shareText:要分享的url
shareImage:[UIImageimageNamed:要分享的圖片]
shareToSnsNames:@[UMShareToWechatSession,UMShareToWechatTimeline,UMShareToSina,UMShareToQQ,UMShareToQzone,UMShareToTencent,UMShareToRenren,UMShareToDouban,UMShareToEmail,UMShareToSms]
delegate:self];
}
這時候點擊分享按鈕就會出現(xiàn)以下界面:
iOS9.0之后在跳轉(zhuǎn)應(yīng)用進(jìn)行授權(quán)時秃流,如果沒有增加可跳轉(zhuǎn)的白名單,就會提示“您的設(shè)備沒有安裝XXX”柳弄,進(jìn)而只進(jìn)行webview授權(quán)或授權(quán)/分享失敗舶胀,那么如何增加可跳轉(zhuǎn)表名單?
在info.plist中加入可跳轉(zhuǎn)白名單
**1****碧注、****
**
右鍵info.plist用source code打開:
2嚣伐、
增加以下內(nèi)容:插入到原本內(nèi)容的</dict>這里</dict>
<key>LSApplicationQueriesSchemes</key><array><string>wechat</string><string>weixin</string><string>sinaweibohd</string><string>sinaweibo</string><string>sinaweibosso</string><string>weibosdk</string><string>weibosdk2.5</string><string>mqqapi</string><string>mqq</string><string>mqqOpensdkSSoLogin</string><string>mqqconnect</string><string>mqqopensdkdataline</string><string>mqqopensdkgrouptribeshare</string><string>mqqopensdkfriend</string><string>mqqopensdkapi</string><string>mqqopensdkapiV2</string><string>mqqopensdkapiV3</string><string>mqzoneopensdk</string><string>wtloginmqq</string><string>wtloginmqq2</string><string>mqqwpa</string><string>mqzone</string><string>mqzonev2</string><string>mqzoneshare</string><string>wtloginqzone</string><string>mqzonewx</string><string>mqzoneopensdkapiV2</string><string>mqzoneopensdkapi19</string><string>mqzoneopensdkapi</string><string>mqqbrowser</string><string>mttbrowser</string><string>alipay</string><string>alipayshare</string><string>renrenios</string><string>renrenapi</string><string>renren</string><string>renreniphone</string><string>laiwangsso</string><string>yixin</string><string>yixinopenapi</string><string>instagram</string><string>whatsapp</string><string>line</string><string>fbapi</string><string>fb-messenger-api</string><string>fbauth2</string><string>fbshareextension</string></array>
這時候用 Propert list 方式打開info.plist,即可看到如下如新增的內(nèi)容