利用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类描述了账户类型。

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

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”按钮取消发送。

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

时间: 2024-10-31 12:26:52

利用iOS API编写简单微博客户端全过程的相关文章

详解如何利用iOS API编写简单微博客户端

要编写社交网络客户端程序,可以大体上分为4个主要的步骤 下面我们按照这个流程,介绍一下: 1.引入Accounts和Social框架 工程中需要引入Accounts和Social框架,Accounts框架中有进行用户账户认证所需类,Social框架中SLRequest类是我们所需要的.添加具体步骤是选择工程中的TARGETS→WeiBo→Build Phases→Link Binary With Libraries,选择右下角的"+"按钮,打开框架和库选择对话框. 分别选择Social

利用JavaMail API编写邮件发关程序

随着互联网的发展和计算机应用的普及,电子邮件越来越成为一种重要的通信方式.目前,有多种开发工具可以编制邮件发送程序,其中以利用JavaMail API编程最为简单.本文通过一个完整的例子介绍如何通过JavaMail API编制邮件发送程序.没有装载JavaMail API的读者,可以到www.javasoft.com站点下载JavaMail API 1.2或JavaMail API 1.3, 并按照Readme.txt设置好ClassPath.例子代码如下: import java.util.*

利用API编写防火墙

/*利用操作系统提供的API编写防火墙.该程序涉及到的API说明请访问微软的MSDN Library代码在C++ Builder 5编译通过如果您想和我交流请email:zzwinner@163.com*/#pragma hdrstop#include "windows.h"#include "Fltdefs.h"// 需要加载"iphlpapi.lib"//--------------------------------------------

服务器-C语言 socket 编写简单服务端客户端通信问题

问题描述 C语言 socket 编写简单服务端客户端通信问题 大家好,感谢你的回复. 我用c 写了一个socket通信的小程序,写好了服务端和客户端,可遇到个问题,就是每次启动客户端只能发送第一条消息,之后服务端就不能再收到消息了. Talk is cheak , show me the code. 服务端代码: #include<stdlib.h> #include<WinSock2.h> #pragma comment(lib,"ws2_32.lib") i

利用Python绑定编写OpenStack自动脚本

OpenStack 是一个越来越流行的.用于部署基础架构即服务 (IaaS) 云的开源解决方案.OpenStack 附带了一个仪表板 Web 应用程序,非常适合执行 手动任务,比如启动单个虚拟机 (VM) 实例, 但是,如果希望自动化基于云的任务,则需要编写可操作 OpenStack 的脚本. 许多用户直接为 OpenStack 具象状态传输 (REST) 应用编程接口 (API) 编写自动化脚本,或者编写调用命令行工具(比如 keystone 或 nova)的 shell 脚本.但 Pytho

iOS 委托与文本输入(内容根据iOS编程编写)_IOS

•文本框(UITextField) 本章节继续编辑 JXHypnoNerd .文件地址 . 首先我们继续编辑 JXHypnosisViewController.m 修改 loadView 方法,向 view 中添加一个 UITextField 对象: #import "JXHypnosisViewController.h" #import "JXHypnosisView.h" @interface JXHypnosisViewController () @end @

基于python编写的微博应用_python

本文实例讲述了基于python编写的微博应用,分享给大家供大家参考.具体如下: 在编写自己的微博应用之前,先要到weibo开放平台申请应用的公钥和私钥. 下载python版的SDK,打开example目录,仿照oauthSetTokenUpdate.py进行编码, 复制代码 代码如下: # -*- coding: utf-8 -*- from weibopy.auth import OAuthHandler from weibopy.api import API consumer_key= '应

2014微博客户端一马当先——短视频动画分享

又一年风花雪月人情冷暖,又一年岁岁年年欢庆祝福.2014甲午年属马,一马当先,马上有钱,龙马精神,万马奔腾--都充斥着人们对来年的期盼和心愿.新浪微博客户端依旧祝愿每一个用户眼前一亮天马行空的展现一下新年新气象.大家在春节版微博客户端能看到2014马上新年快乐~(看过的请轻喷)这是新版客户端更新后开机展示的一段8秒的视(niu)频(bi)动画.由相同的三角形分别组合形成的2014.马头以及新年彩球的图案.通过3D空间旋转.组合.运动连成一体.寓意着千千万万小小的正能量凝聚成此时此刻对新一年的欣喜

利用window API实现matlab屏幕抓取函数

摘要:结合如何用window API实现matlab屏幕抓取函数,介绍了在matlab中如何利用matlab与C/C++的接口,调用操作系统API,扩展matlab功能. 引言 MATLAB 产品家族是美国 MathWorks公司开发的用于概念设计,算法开发,建模仿真,实时实现的理想的集成环境.由于其完整的专业体系和先进的设计 开发思路,使得 MATLAB 在多种领域都有广阔的应用空间. 尽管MATLAB在科学研究以及工业技术开发方面有着极为广泛的应用,但是它也不是万能的.在某些场合下,MATL