iOS微博SDK分享

一、集成微博SDK

1.添加SDK文件

微博SDK

2.添加編譯選項

新浪微博 SDK 附帶的文檔中有這么一個說明:
在工程中引入靜態(tài)庫之后,需要在編譯時添加 -ObjC 編譯選項,避免靜態(tài)庫中類 加載 不全造成程序崩潰。方法:程序 Target->Buid Settings->Linking 下 Other Linker Flags 項添加 -ObjC

然而會崩潰查描,然后在網(wǎng)上看到遇到同樣崩潰錯誤的人有提到在編譯時添加 -all_load 編譯選項時也可以解決問題。


-all_load編譯選項

3.添加FrameWork文件到工程

FrameWork

二、使用微博分享

1.設(shè)置工程回調(diào)URL Schemes

什么是URL Schemes?

URL Schemes是蘋果給出的用來跳轉(zhuǎn)到系統(tǒng)應(yīng)用或者跳轉(zhuǎn)到別人的應(yīng)用的一種機制阁将。同時還可以在應(yīng)用之間傳數(shù)據(jù)。
備注:一個應(yīng)用是可以有多個URL Schemes的右遭。你可以再次點擊“+”來添加一個URL Schemes

如下圖所示:其中Identifier應(yīng)為自己的SSO授權(quán)回調(diào)地址做盅,URL Scheme則為"wb"+"app key"。

設(shè)置URL Schemes

2.添加URL Schemes白名單

iOS9以后窘哈,應(yīng)用需要在“Info.plist”中將要使用的URL Schemes列為白名單吹榴,才可正常檢查其他應(yīng)用是否安裝。

如下圖所示:在Info.plist中添加key為"LSApplicationQueriesSchemes" 滚婉,值為Array图筹。在Array中添加以下String類型的值:"sinaweibohd","sinaweibo"让腹,"weibosdk"远剩,"weibosdk2.5"


微博白名單

另附“QQ/QQ空間/支付寶/微信SDK”相關(guān)白名單

 <key>LSApplicationQueriesSchemes</key>
 <array>
    <!-- 微信 URL Scheme 白名單-->
    <string>wechat</string>
    <string>weixin</string>

    <!-- 新浪微博 URL Scheme 白名單-->
    <string>sinaweibohd</string>
    <string>sinaweibo</string>
    <string>sinaweibosso</string>
    <string>weibosdk</string>
    <string>weibosdk2.5</string>

    <!-- QQ、Qzone URL Scheme 白名單-->
    <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>mqzoneopensdk</string>

    <!-- 支付寶  URL Scheme 白名單-->
    <string>alipay</string>
    <string>alipayshare</string>

</array>

3.代碼部分

(1)AppDelegate.m

注冊app

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    //向微博客戶端程序注冊第三方應(yīng)用
    [WeiboSDK registerApp:kAppKey];
    //設(shè)置WeiboSDK的調(diào)試模式
    [WeiboSDK enableDebugMode:YES];

    // Override point for customization after application launch.
    return YES;
}

在AppDelegate.m中復(fù)寫
將在從微博客戶端回到App時調(diào)用

//ios9以上
- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
            options:(NSDictionary<NSString *,id> *)options {
    [WeiboSDK handleOpenURL:url delegate:self];
    return YES;
}
//ios9 以下
- (BOOL)application:(UIApplication*)application openURL:(NSURL *)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation{
    
    [WeiboSDK handleOpenURL:url delegate:self];
    
    return YES;
    
}

收到一個來自微博客戶端程序的響應(yīng)

#pragma mark -- WeiboSDKDelegate
- (void)didReceiveWeiboResponse:(WBBaseResponse *)response {
    if ([response isKindOfClass:WBSendMessageToWeiboResponse.class])
    {
        NSString *title = NSLocalizedString(@"發(fā)送結(jié)果", nil);
        NSString *message = [NSString stringWithFormat:@"%@: %d\n%@: %@\n%@: %@", NSLocalizedString(@"響應(yīng)狀態(tài)", nil), (int)response.statusCode, NSLocalizedString(@"響應(yīng)UserInfo數(shù)據(jù)", nil), response.userInfo, NSLocalizedString(@"原請求UserInfo數(shù)據(jù)", nil),response.requestUserInfo];
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title
                                                        message:message
                                                       delegate:nil
                                              cancelButtonTitle:NSLocalizedString(@"確定", nil)
                                              otherButtonTitles:nil];
        WBSendMessageToWeiboResponse* sendMessageToWeiboResponse = (WBSendMessageToWeiboResponse*)response;
        [alert show];
    }
    
}

- (void)didReceiveWeiboRequest:(WBBaseRequest *)request {

}

(2)分享操作

    WBMessageObject *wbmsg = [WBMessageObject message];
    
    wbmsg.text = _textField.text;
    WBImageObject *wbImg = [[WBImageObject alloc] init];
    NSData *imageData = UIImagePNGRepresentation(_imageView.image);

    wbImg.imageData = imageData;
    wbmsg.imageObject = wbImg;
    
    WBAuthorizeRequest *authRequest = [WBAuthorizeRequest request];
    authRequest.redirectURI = @"http://www.sina.com";
    authRequest.scope = @"all";
    
    WBSendMessageToWeiboRequest *request = [WBSendMessageToWeiboRequest requestWithMessage:wbmsg authInfo:authRequest access_token:nil];
    
    /*app之間數(shù)據(jù)交互*/
//    request.userInfo = @{@"ShareMessageFrom": @"ViewController",
//                         @"Other_Info_1": [NSNumber numberWithInt:123],
//                         @"Other_Info_2": @[@"obj1", @"obj2"],
//                         @"Other_Info_3": @{@"key1": @"obj1", @"key2": @"obj2"}};
    [WeiboSDK sendRequest:request];

這就是微博分享的環(huán)境搭建和基本使用的全部內(nèi)容了哨鸭。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末民宿,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子像鸡,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件只估,死亡現(xiàn)場離奇詭異志群,居然都是意外死亡,警方通過查閱死者的電腦和手機蛔钙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門锌云,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人吁脱,你說我怎么就攤上這事桑涎。” “怎么了兼贡?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵攻冷,是天一觀的道長。 經(jīng)常有香客問我遍希,道長等曼,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任凿蒜,我火速辦了婚禮禁谦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘废封。我一直安慰自己州泊,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布漂洋。 她就那樣靜靜地躺著拥诡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪氮发。 梳的紋絲不亂的頭發(fā)上渴肉,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天,我揣著相機與錄音爽冕,去河邊找鬼仇祭。 笑死,一個胖子當(dāng)著我的面吹牛颈畸,可吹牛的內(nèi)容都是我干的乌奇。 我是一名探鬼主播,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼眯娱,長吁一口氣:“原來是場噩夢啊……” “哼礁苗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起徙缴,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤试伙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體疏叨,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡潘靖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蚤蔓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卦溢。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖秀又,靈堂內(nèi)的尸體忽然破棺而出单寂,到底是詐尸還是另有隱情,我是刑警寧澤吐辙,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布宣决,位于F島的核電站,受9級特大地震影響袱讹,放射性物質(zhì)發(fā)生泄漏疲扎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一捷雕、第九天 我趴在偏房一處隱蔽的房頂上張望椒丧。 院中可真熱鬧,春花似錦救巷、人聲如沸壶熏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽棒假。三九已至,卻和暖如春精盅,著一層夾襖步出監(jiān)牢的瞬間帽哑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工叹俏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留妻枕,地道東北人。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓粘驰,卻偏偏與公主長得像屡谐,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蝌数,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容