新浪微博开放平台为第三方应用提供了简便的合做模式,知足了手机用户和平板电脑用户随时随地分享信息的需求。经过调用平台的api便可实现不少微博上的功能。web
本篇主要目的是记录新浪微博移动SDK iOS版本的在iOS5下的嵌入和使用。json
申请地址:http://open.weibo.com/development,申请后获得App key 和 App Secretapi
下载地址:http://open.weibo.com/wiki/SDK#iOS_SDK ,下载第一个就ok了。安全
导入SDKapp
这时候运行程序,你会发现不少关于ARC的错误,由于sdk里是没有使用arc的。这时候若是想sdk的文件不参与arc方式的编译,那就须要作下设置,在Build Phases里添加“-fno-objc-arc”标示ide
双击须要标识的文件,输入-fno-objc-arc。函数
这样weibo SDK的文件就不会以arc的方式编译了。post
这时候运行,程序就编译运行正常了学习
登陆调用ui
[weiBoEnginelogIn];
注销调用
[weiBoEnginelogOut];
发微博:
能够调用SDK默认的界面发送:
WBSendView *sendView = [[WBSendViewalloc] initWithAppKey:appKeyappSecret:appSecrettext:@"test"image:[UIImageimageNamed:@"bg.png"]];
[sendView setDelegate:self];
[sendView show:YES];
对应的发送微博的api是:statuses/upload 发送微博并上传图片。若是在微博上显示地图,那就发送经纬度参数,多加上
lat | false | float | 纬度,有效范围:-90.0到+90.0,+表示北纬,默认为0.0。 |
long | false | float | 经度,有效范围:-180.0到+180.0,+表示东经,默认为0.0。 |
6步骤里调用的是sdk里封装好的,那微博这么api和功能,怎么调用呢?
咱们试着获取我的信息
params的参数是必须的。
返回的数据参考接口http://open.weibo.com/wiki/2/users/show
这样能够获取微博本身的昵称等信息。
微博全部api文档都在这个页面http://open.weibo.com/wiki/API%E6%96%87%E6%A1%A3_V2,使用的方法和例子都有。
须要什么用什么接口,把loadRequestWithMethodName 改变成本身须要的接口,params参数改为须要的参数,就能够了。
有的接口是不须要params的,好比
statuses/friends_timeline.json获取关注人的微博,这里params能够是nil.
PS:本篇记录用的是Oauth认证,xauth认证须要审核资格才能使用的。
继上篇 iOS学习之iOS5.0以上 使用新浪微博开放平台OAuth
事后,新浪微博受权弹出的网页又有调整,中间还有过瘫痪状况。若是按上篇作出来的受权页面就成这样了:
第一:网页页面变大了,
第二:没有了取消按钮。
根据这个状况在sina weibo SDK里作了写调整
调整:增长一个关闭按钮,弹出窗口大小。
在WBAuthorizeWebView.m文件的方法:bounceOutAnimationStopped里添加按钮:
close.png图片sdk里自带就有。hideAndCleanUp方法就是把窗口移除。hideAndCleanUp方法原来就有。运行效果:
看右下角有个关闭按钮,为何放在右下角呢,由于右上角有个注册按钮,容易被点到。一会把网页窗口最大化了就能看到了。
扩大窗口
在WBAuthorizeWebView.m文件的方法- (void)sizeToFitOrientation:(UIInterfaceOrientation)orientation 修改以下:
上面的尺寸是横屏的时候的,我修改了竖屏时的窗口的大小。
运行效果:
这个状态差很少就能够了。
还有在调用WeiBoEngine 的Logout 登出无效的状况。修改以下:
在WBAuthorize.m文件,把startAuthorize函数修改以下:
就是在 params里添加@”true”,@”forcelogin”。
以上是使用新浪微博sdk开发遇到的问题和解决的一些方法。
修改过的项目代码:http://download.csdn.net/detail/totogo2010/4928029