微博SDK 3.1.3

WeiboSDK 3.1.3

测试已测试
Lang语言 Obj-CObjective C
许可 商业
发布最近发布2015年10月

NY维护。



WeiboSDK 3.1.3

  • 作者
  • sinaweibosdk

ReadMe

为了方便第三方开发者快速集成微博SDK,我们提供了以下联系方式,协助开发者进行集成:
QQ群:226214250(iOS请加此群) 263989257(此群已满)
284084420(此群已满)
邮箱:[email protected]
微博:移动新技术
另外,关于SDK的Bug反馈、用户体验以及好的建议,请大家尽量提交到Github上,我们会尽快解决。
目前,我们正在逐步完善微博SDK,争取为第三方开发者提供一个规范、简单易用、可靠、可扩展、可定制的SDK,敬请期待。

概述

微博iOS平台SDK为第三方应用提供了简单易用的微博API调用服务,使第三方客户端无需了解复杂的验证机制即可进行授权登录,并提供微博分享功能,可直接通过微博官方客户端分享微博。

快速集成

WeiboSDK支持使用Cocoapods集成,请在Podfile中添加以下语句:

pod "WeiboSDK", :git => "https://github.com/sinaweibosdk/weibo_ios_sdk.git" 

API文档

http://sinaweibosdk.github.io/weibo_ios_sdk/index.html

常见问题 FAQ

https://github.com/sinaweibosdk/weibo_ios_sdk/blob/master/FAQ.md

名词解释

名词 注释
AppKey 分配给每个第三方应用的app key。用于鉴权身份,显示来源等功能。
RedirectURI 应用回调页面,可在新浪微博开放平台->我的应用->应用信息->高级应用->授权设置->应用回调页中找到。
AccessToken 表示用户身份的token,用于微博API的调用。
Expire in 过期时间,用于判断登录是否过期。

功能列表

1. 认证授权

为开发者提供Oauth2.0授权认证,并集成SSO登录功能。

2. 微博分享

从第三方应用分享信息到微博,目前只支持通过微博官方客户端进行分享。

3. 登入登出

微博登录按钮主要是简化用户进行SSO登录,实际上,它内部是对SSO认证流程进行了简单的封装。
微博登出按钮主要提供一键登出的功能,帮助开发者主动取消用户的授权。

4.OpenAPI通用调用

OpenAPI通用调用接口,帮助开发者访问开放平台open api(http://open.weibo.com/wiki/%E5%BE%AE%E5%8D%9AAPI),此外,还提供了一系列封装了open api调用的接口,方便开发者使用。

5. 社会化评论服务、原生关注组件

提供社会化评论按钮和原生关注按钮,简化用户进行关注以及评论的流程。

适用范围

使用此SDK需满足以下条件

  • 在新浪微博开放平台注册并创建应用
  • 已定义本应用的授权回调页
  • 已选择应用为iOS平台,并正确填写Bundle id和apple id

注:授权回调页对移动客户端应用来说用户是不可见的,因此其定义形式不影响使用,但未定义将导致SDK认证登录无法使用。建议使用默认回调页 https://api.weibo.com/oauth2/default.html

iOS9的适配问题

由于iOS9的发布影响了微博SDK与应用的集成方式,为确保良好的应用体验,我们需要采取以下措施:

1.对传输安全的支持

在新一代iOS系统中,默认需要为每次网络传输建立SSL。解决此问题有两种方法:

- A.建立白名单并将其添加到应用的Info.plist中

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>sina.cn</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>weibo.cn</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>weibo.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>sinaimg.cn</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>sinajs.cn</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>sina.com.cn</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
    </dict>
</dict>

如果没有添加,可能会遇到"发生SSL错误,无法建立到服务器的安全连接"等问题。

- B.强制将NSAllowsArbitraryLoads属性设置为YES,并添加到应用的Info.plist中

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
</true>
</dict>

2.对应用跳转的支持

如果您需使用微博相关功能(如登录、分享等),并需要实现跳转到微博的功能,在iOS9系统中您需要在应用的Info.plist中添加以下键值对。否则在canOpenURL函数执行时,将返回NO。了解更多详情请参考https://developer.apple.com/videos/wwdc/2015/?id=703

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>sinaweibohd</string>
    <string>sinaweibo</string>
    <string>weibosdk</string>
    <string>weibosdk2.5</string>
</array>

3.应用瘦身与bitcode

苹果在iOS9的SDK中增加了对应用瘦身(包括bitcode)的支持,我们也已在最新代码中添加了相应的支持。