`
jishublog
  • 浏览: 870713 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

5

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

1、引入Accounts和Social框架

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

6

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

2、用户账户认证

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

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

ACAccountStore *account = [[ACAccountStore alloc] init]; ①

ACAccountType *accountType = [account accountTypeWithAccountTypeIdentifier:

ACAccountTypeIdentifierSinaWeibo]; ②

[account requestAccessToAccountsWithType:accountType options:nil

completion:^(BOOL granted, NSError *error) ③

{

if (granted == YES) ④

{

NSArray *arrayOfAccounts = [account

accountsWithAccountType:accountType]; ⑤

if ([arrayOfAccounts count] > 0) ⑥

{

<认证通过>

}

};

}];


3、发送请求

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

SLRequest *request = [SLRequest  requestForServiceType:SLServiceTypeSinaWeibo

requestMethod:SLRequestMethodGET

URL:requestURL

parameters:parameters];

上面的代码还只是创建了SLRequest对象,我们还需要为请求对象设置账户信息,使用下面的语句:

request.account = weiboAccount;

weiboAccount账户信息是我们从用户账户信息数据库中获得的,设置给请求对象的account属性,然后才能提交给社交网络服务器进行认证。

具体开始请求是通过调用SLRequest 的performRequestWithHandler:方法实现的,代码如下:

[request performRequestWithHandler:^(NSData *responseData,

NSHTTPURLResponse *urlResponse, NSError *error) {

<处理请求结果>

}];


4、处理请求结果

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

id jsonObj = [NSJSONSerialization JSONObjectWithData:responseData

options:NSJSONReadingAllowFragments error:&err];


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

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

7

出自《iOS网络编程与云端应用最佳实践》作者:关东升 @tony_关东升

分享到:
评论

相关推荐

    ios新浪微博客户端源码.

    ios新浪微博客户端源码

    基于iOS的新浪微博iPhone客户端的设计与实现

    本资料主要内容是:基于iOS的新浪微博iPhone客户端的设计与实现的全面讲解。可作为毕业设计的资料。

    ios_模仿新浪微博客户端

    模仿IOS新浪微博客户端, IOS应用开发的经典教程!

    ios版新浪微博客户端源代码

    ios版本新浪微博客户端源代码 client_ID = (你申请应用的appkey) client_SERCRET =(你申请应用的app_secret) redirect_URI =(回调地址,跟网上配置的一致,本人比较穷,而且用的是客户端,所以这里就为空) ...

    基于ios开发微博客户端.pdf

    《基于ios开发微博客户端.pdf》,一步一步开发iPhone微博客户端,以新浪微博为例。

    ios小项目——新浪微博客户端

    ios小项目——新浪微博客户端 用的都是ios5的新东西 ARC storyboard segue 也加入了GCD与coredata 还有些需要改进的地方 有兴趣的朋友自己改进咯 只是作为练习的一个小东西 希望对你也有所帮助

    IOS新浪微博客户端

    网上最常见的IPHONE新浪微博客户端代码。做的很好,和大家分享。

    ios新浪微博客户端

    之前的那个很多人说有问题 这个是我这边刚刚运行过的 appkey我也没去掉 基于ios5.0的

    iOS 新浪微博客户端Demo实践程序

    这是sina微博客户端的简单demo程序,里面主要实现:看微博,看评论,看粉丝,发微博和发评论。欢迎下载修改和交流!

    ios:新浪微博iphone客户端

    这是一个ios的新浪微博iphone版的客户端,代码成功运行还需要一个appkey,请大家到新浪微博开发平台申请一个appkey,然后加入到程序文件中名为Url.h的文件中,找到一个apply_url,将里面的“AppKey”替换成你所申请...

    IOS应用源码之zjt新浪微博客户端.zip

    IOS应用源码之zjt新浪微博客户端.zip

    新浪微博客户端

    这是一个新浪微博客户端代码,代码来自于无线互联新浪微博视频,是我一点一点的跟着视频敲出来的,包含了新浪微博的基本功能,版本为ios5到ios6,资源分为2分吧,毕竟csdn分比较珍贵。

    一简 - 一款使用react-native开发的微博客户端.zip

    一简 - 一款使用react-native开发的微博客户端.zip,Yijian - an iOS Weibo App made with React Native

    ios微博客户端

    这个工程是我个人学习ios开发而作的一个简单demo,里面涉及授权,保存密码,微博展示的功能,喜欢的朋友可以下载来看一下,一起交流一下。

    ios-仿新浪微博项目.zip

    1. 自定义tabbar 2. 自定义NavigationController 3. 新特性(collection复用) ...11. 发送微博界面 12.自定义表情键盘,并发送表情 13. 设置界面的封装 14.清除缓存 15.设置界面的选择界面 16.后台运行

    iOS仿微博客户端一条微博的展示效果

    做一个微博客户端的第三方是自学的第一个实践的项目,自从从事iOS工作之后,就把这个项目给搁置了。趁现在过年回来有些空闲时间,再次修改(总觉得项目就是不停地修改)。并且记录一点东西,以后可再回头看看从前...

    IOS APP开发 微博 Xcode

    IOS APP应用开发 微博 Xcode 详细代码

    iOS集成新浪微博API教程

    本文demo的核心功能:微博授权、自定义表情键盘、图文混排 分页刷新控件集成文章:...iOS集成新浪微博API教程:https://blog.csdn.net/z929118967/article/details/75201062

    iOS新浪微博客户端

    适合初学者使用,实现了新浪微博的授权,登录微博

Global site tag (gtag.js) - Google Analytics