微信、QQ、微博都差不多 ,前兩篇已經(jīng)和清楚了 微博就簡(jiǎn)單記錄一下
配置
-
添加白名單以及URL scheme
白名單.png

F61BF6CC-CA7F-43E2-98B3-349AF16029DD.png
-
添加依賴庫(kù)
依賴庫(kù).png -
選擇Build Setting,在"Other Linker Flags"中加入"
94E50B50-967F-4DAB-A21F-6A6414F93A32.png
-all_load"
注冊(cè)
/**
設(shè)置WeiboSDK的調(diào)試模式
當(dāng)開(kāi)啟調(diào)試模式時(shí),WeiboSDK會(huì)在控制臺(tái)輸出詳細(xì)的日志信息,開(kāi)發(fā)者可以據(jù)此調(diào)試自己的程序。默認(rèn)為 NO
@param enabled 開(kāi)啟或關(guān)閉WeiboSDK的調(diào)試模式
*/
[WeiboSDK enableDebugMode:YES];
[WeiboSDK registerApp:kAppKey];
這里如果有多種分享途徑 需判斷分享的是微信、QQ、微博。。。。
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [WeiboSDK handleOpenURL:url delegate:self];
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return [WeiboSDK handleOpenURL:url delegate:self ];
}
回調(diào)(官方demo里 這里寫(xiě)的比較詳細(xì) 可以參考)
- (void)didReceiveWeiboResponse:(WBBaseResponse *)response {
if ([response isKindOfClass:WBSendMessageToWeiboResponse.class])
{
if (response.statusCode == 0) {
// 新浪微博分享成功
}
else {
//新浪微博分享失敗
}
}
else if ([response isKindOfClass:WBAuthorizeResponse.class]){
if (response.statusCode == 0) {
// 新浪微博授權(quán)成功
}
else {
// 新浪微博授權(quán)失敗
}
}
}
授權(quán)
WBAuthorizeRequest *request = [WBAuthorizeRequest request];
request.redirectURI = kRedirectURI;
request.scope = @"all";
request.userInfo = @{@"SSO_From": @"SendMessageToWeiboViewController",
@"Other_Info_1": [NSNumber numberWithInt:123],
@"Other_Info_2": @[@"obj1", @"obj2"],
@"Other_Info_3": @{@"key1": @"obj1", @"key2": @"obj2"}};
[WeiboSDK sendRequest:request];
此處注意一下 ,如果是安裝了微博客戶端的 授權(quán)跳轉(zhuǎn)后應(yīng)該是這樣

1.png
但是 跳轉(zhuǎn)后確實(shí)這樣

2.png
可以檢查一下是否沒(méi)有添加白名單 (我就是忘了添加,跳轉(zhuǎn)后一直是這個(gè)頁(yè)面。。。)
退出
AppDelegate *myDelegate =(AppDelegate*)[[UIApplication sharedApplication] delegate];
[WeiboSDK logOutWithToken:myDelegate.wbtoken delegate:self withTag:@"user1"];
分享
文字
WBMessageObject *message = [WBMessageObject message];
message.text = NSLocalizedString(@"林俊杰最新專輯《偉大的渺小》", nil);
WBSendMessageToWeiboRequest *request = [WBSendMessageToWeiboRequest requestWithMessage:message];
[WeiboSDK sendRequest:request];
圖片
UIImage * image = [UIImage imageNamed:@"小瓶子"];
WBMessageObject *message = [WBMessageObject message];
message.text = @"小瓶子";
// 消息的圖片內(nèi)容中,圖片數(shù)據(jù)不能為空并且大小不能超過(guò)10M
WBImageObject *imageObject = [WBImageObject object];
imageObject.imageData = UIImageJPEGRepresentation(image, 0.5);
message.imageObject = imageObject;
WBSendMessageToWeiboRequest *request = [WBSendMessageToWeiboRequest requestWithMessage:message];
[WeiboSDK sendRequest:request];
鏈接
WBWebpageObject *webpage = [WBWebpageObject object];
webpage.objectID = @"identifier1";
webpage.title = NSLocalizedString(@"偉大的渺小", nil);
webpage.description = [NSString stringWithFormat:NSLocalizedString(@"分享網(wǎng)頁(yè)內(nèi)容簡(jiǎn)介-%.0f", nil), [[NSDate date] timeIntervalSince1970]];
webpage.thumbnailData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"小瓶子" ofType:@"png"]];
webpage.webpageUrl = @"https://m.weibo.cn/5360551125/4199268648046669";
message.mediaObject = webpage;
WBSendMessageToWeiboRequest *request = [WBSendMessageToWeiboRequest requestWithMessage:message];
[WeiboSDK sendRequest:request];
這只是列舉了其中的兩種,具體的看文檔。
多廢話幾句,如果在各種信息都配置好了,卻點(diǎn)擊分享后沒(méi)有跳轉(zhuǎn),可以檢查一下參數(shù)是否符合要求,很多都是有大小、非空等限制。
另外,在分享鏈接的時(shí)候,如果跳轉(zhuǎn)了但是 有文字沒(méi)有鏈接的話,可以檢查一下thumbnailData 圖片是否存在,以及大小是否符合要求。。。。。
不僅僅是微博,微信、QQ等 都存在參數(shù)有限制的要求,如果分享失敗,可以往這方面檢查一下。。。。。。。


