iOS 分享 --微博

微信、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ù)有限制的要求,如果分享失敗,可以往這方面檢查一下。。。。。。。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容