微博 iOS 平台 SDK 为第三方应用提供了简单易用的微博API调用服务,使第三方客户端无需了解复杂的验证机制即可进行授权登录,并提供微博分享功能,可直接通过微博官方客户端分享微博。
http://sinaweibosdk.github.io/weibo_ios_sdk/index.html
https://github.com/sinaweibosdk/weibo_ios_sdk/blob/master/FAQ.md
名词 | 释义 |
---|---|
AppKey | 分配给每个第三方应用的 app key。用于身份验证,显示来源等功能。 |
RedirectURI | 应用回调页面,可在新浪微博开放平台->我的应用->应用信息->高级应用->授权设置->应用回调页中找到。 |
AccessToken | 表示用户身份的 token,用于微博 API 的调用。 |
Expire in | 过期时间,用于判断登录是否过期。 |
为开发者提供 OAuth2.0 授权认证,并集成 SSO 登录功能。
从第三方应用分享信息到微博,目前只支持通过微博官方客户端进行分享。
微博登录按钮主要简化用户进行 SSO 登录,实际上,它内部是对 SSO 认证流程进行了简单的封装。
微博登出按钮主要提供一键登出的功能,帮助开发者主动取消用户的授权。
OpenAPI 通用调用接口,帮助开发者访问开放平台 open API (http://open.weibo.com/wiki/%E5%BE%AE%E5%8D%9AAPI) 此外,还提供了一系列封装了 open API 调用的接口,方便开发者使用。
提供社会化评论按钮和原生关注按钮,简化用户进行关注以及评论的流程。
要使用此SDK,必须满足以下条件
注:关于授权回调页,对于移动客户端应用来说对用户是不可见的,所以定义为何种形式都将不影响,但是没有定义将无法使用 SDK 认证登录。建议使用默认回调页 https://api.weibo.com/oauth2/default.html
由于 iOS9 的发布影响了微博 SDK 与应用的集成方式,为了确保良好的应用体验,我们需要采取以下措施:
在新一代的 iOS 系统中,默认需要为每次网络传输建立 SSL。解决这个问题有两种方法:
<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错误,无法与服务器建立安全连接”这样的问题。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
</true>
</dict>
如果你需要使用微博的相关功能,如登录、分享等,并且需要实现跳转到微博的功能,在iOS 9系统中,就需要在你app的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>
苹果在iOS 9的SDK中添加了对应用瘦身的支持,其中包括bitcode。我们也在最新的代码中加入了bitcode的支持。