开发者社区> 技术小阿哥> 正文

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

简介:
+关注继续查看

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


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

1、引入Accounts和Social框架

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


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


2、用户账户认证

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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对象:

1
2
3
4
SLRequest *request = [SLRequest  requestForServiceType:SLServiceTypeSinaWeibo
requestMethod:SLRequestMethodGET
URL:requestURL
parameters:parameters];

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

request.account = weiboAccount;

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

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

1
2
3
4
[request performRequestWithHandler:^(NSData *responseData,
NSHTTPURLResponse *urlResponse, NSError *error) {
<处理请求结果>
}];


4、处理请求结果

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

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

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

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




本文转自 tony关东升 51CTO博客,原文链接:http://blog.51cto.com/tonyguan/1197305,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Python3,网站搭建之编写API接口,让前端页面展示数据!
Python3,网站搭建之编写API接口,让前端页面展示数据!
261 0
氚云丨开发课— 09平台 API 的调用及自定义 API 的编写与调用| 学习笔记
快速学习氚云丨开发课— 09平台 API 的调用及自定义 API 的编写与调用。
296 0
使用 Gorilla Mux 和 CockroachDB 编写可维护 RESTful API(下)
本文将使用功能强大的 Gorilla Mux、GORM 和 CockroachDB 编写可维护 RESTful API。
58 0
使用 Gorilla Mux 和 CockroachDB 编写可维护 RESTful API(中)
本文将使用功能强大的 Gorilla Mux、GORM 和 CockroachDB 编写可维护 RESTful API。
55 0
使用 Gorilla Mux 和 CockroachDB 编写可维护 RESTful API(上)
本文将使用功能强大的 Gorilla Mux、GORM 和 CockroachDB 编写可维护 RESTful API。
57 0
在 Node.js 中使用 Yaml 编写API文档
在文章《使用Node.js、MongoDB、Fastify 构建API服务》中介绍使用 Swagger 构建 API 文档,编写文档不是那么的顺手,本文介绍另一种编写 API 文档的方式,即使用 Yaml ,将API文档与其实现完全分开。
162 0
Chai 和 Mocha 为API编写测试
昨天在文章《JavaScript单元测试的“抹茶”组合:Mocha和Chai》介绍了JavaScript单元测试常用组合,本文展示使用 Chai 和 Mocha 为API编写简单的测试用例。
119 0
PhalApi 2.x 开发文档 运行Hello World 编写第一个API接口
此文章假设你已成功安装PhalApi2项目,如果尚未安装,可阅读下载与安装。
105 0
【Groovy】Gradle 构建工具 ( 自动下载并配置构建环境 | 提供 API 扩展与开发工具集成 | 内置 Maven 和 Ivy 依赖管理 | 使用 Groovy 编写构建脚本 )
【Groovy】Gradle 构建工具 ( 自动下载并配置构建环境 | 提供 API 扩展与开发工具集成 | 内置 Maven 和 Ivy 依赖管理 | 使用 Groovy 编写构建脚本 )
119 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
CUDA Math API
立即下载
阿里云 API 精选手册(Alibaba Cloud API Playbook)
立即下载
重保场景及API安全指南
立即下载