注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

熊猫正正的博客

熊猫正正的天空

 
 
 

日志

 
 

利用iOS API编写简单微博客户端全过程  

2013-05-11 15:22:48|  分类: ios开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

要编写社交网络客户端程序,可以大体上分为4个主要的步骤

5

下面我们按照这个流程,介绍一下:

1、引入Accounts和Social框架

工程中需要引入Accounts和Social框架,Accounts框架中有进行用户账户认证所需类,Social框架中SLRequest类是我们所需要的。添加具体步骤是选择工程中的TARGETS→WeiBo→Build Phases→Link Binary With Libraries,选择右下角的“+”按钮,打开框架和库选择对话框。

6

分别选择Social.framework添加,再选择Accounts.framework添加。

 

2、用户账户认证

用户账户认证使用ACAccount、ACAccountStore和ACAccountType类,ACAccount类是封装用户账户信息,这些信息存储在账户数据库中,ACAccountStore类用来管理账户数据库,ACAccountType类描述了账户类型。

认证过程的模板代码如下:

  1. ACAccountStore *account = [[ACAccountStore alloc] init]; ①  
  2.   
  3. ACAccountType *accountType = [account accountTypeWithAccountTypeIdentifier:  
  4.   
  5. ACAccountTypeIdentifierSinaWeibo]; ②  
  6.   
  7. [account requestAccessToAccountsWithType:accountType options:nil  
  8.   
  9. completion:^(BOOL granted, NSError *error) ③  
  10.   
  11. {  
  12.   
  13. if (granted == YES) ④  
  14.   
  15. {  
  16.   
  17. NSArray *arrayOfAccounts = [account  
  18.   
  19. accountsWithAccountType:accountType]; ⑤  
  20.   
  21. if ([arrayOfAccounts count] > 0) ⑥  
  22.   
  23. {  
  24.   
  25. <认证通过>  
  26.   
  27. }  
  28.   
  29. };  
  30.   
  31. }];  


3、发送请求

用户认证通过就可以进行发送使用SLRequest对象发送请求,创建SLRequest对象可以使用类级构造方法requestForServiceType:requestMethod:URL:parameters:,下面是代码是创建SLRequest对象:

  1. SLRequest *request = [SLRequest  requestForServiceType:SLServiceTypeSinaWeibo  
  2.   
  3. requestMethod:SLRequestMethodGET  
  4.   
  5. URL:requestURL  
  6.   
  7. parameters:parameters];  
  8.   
  9. 上面的代码还只是创建了SLRequest对象,我们还需要为请求对象设置账户信息,使用下面的语句:  
  10.   
  11. request.account = weiboAccount;  
  12.   
  13. weiboAccount账户信息是我们从用户账户信息数据库中获得的,设置给请求对象的account属性,然后才能提交给社交网络服务器进行认证。  
  14.   
  15. 具体开始请求是通过调用SLRequest 的performRequestWithHandler:方法实现的,代码如下:  
  16.   
  17. [request performRequestWithHandler:^(NSData *responseData,  
  18.   
  19. NSHTTPURLResponse *urlResponse, NSError *error) {  
  20.   
  21. <处理请求结果>  
  22.   
  23. }];  


 

4、处理请求结果

请求结束会调用代码块,我们在代码块中处理请求结果。基本工作是解析数据,以及UI的更新等操作。这3个社交网络服务返回的都是JSON格式数据,其中代码块中的responseData参数可以使用NSJSONSerialization解析JSON对象:

  1. id jsonObj = [NSJSONSerialization JSONObjectWithData:responseData  
  2.   
  3. options:NSJSONReadingAllowFragments error:&err];  


解析的jsonObj对象结构根据社交网络服务的不同而不同,详细参数情况请参考不同服务的开发者网站。

下面我们通过一个实例介绍一下SLRequest的使用,在表视图画面中,可以下拉刷新视图,获得最新的社交网络服务信息。点击画面导航栏的Action按钮,会弹出撰写信息的模态视图(右图所示),撰写完成之后点击“Save”按钮发送信息,可以点击“Cancel”按钮取消发送。

7



转自:http://blog.csdn.net/tonny_guan/article/details/8910047
  评论这张
 
阅读(55)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017