要编写社交网络客户端程序,可以大体上分为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_关东升
相关推荐
在开发“拍照并上传照片和...以上就是“拍照并上传照片和说明的 iOS 客户端”开发过程中涉及的主要技术点,涵盖了从用户交互到后台通信的全过程。每个环节都需要精心设计和实现,以确保最终产品的稳定性和用户体验。
人人网客户端是一款基于第三方API构建的应用程序,它...以上就是关于人人网客户端开发的主要知识点,涵盖了从API接口到客户端应用的全生命周期。每个环节都需要开发者深入理解和熟练掌握,以打造一款高质量的社交应用。
音乐API(musicApi)是一个开源项目,主要...综上所述,这个开源项目涵盖了从后端开发到移动端应用集成的全过程,开发者可以通过研究源代码,学习如何构建跨平台的音乐应用,以及如何设计和实现一个高效、安全的API。
"SmartFoxServer中文教程及API"文档涵盖了从安装配置到实际开发的全过程,包括服务器的启动与停止、创建和管理房间、用户认证、消息传递、事件处理等方面。此外,还有关于SSE和CSE的详细教程,帮助开发者熟练掌握API...
本文将详细解析该视频教程所涵盖的关键技术点和实施步骤,帮助读者更好地理解和掌握整个项目的实现过程。 ### 一、项目背景与目标 在当前移动互联网时代,即时通讯应用已成为人们日常生活中不可或缺的一部分。随着...
电影小视P是一款集视频观看、分享和社交于一体的...通过深入研究这个源码包,开发者不仅可以学习到具体的移动应用开发技术,还能了解一个完整的项目从设计到实现的全过程,对于提升个人技能和团队协作能力大有裨益。
总之,这个开源项目提供了从服务器到客户端全平台的电商解决方案,涵盖了JAVA后端开发、小程序开发、Android和iOS移动应用开发的关键技术。无论是对于初学者还是经验丰富的开发者,都有很大的学习价值,可以帮助他们...
开发者需要设置证书,编写推送服务端和客户端代码。 7. **地理围栏**:利用Core Location框架,设置地理围栏来触发特定的行为,如到达目的地提醒或者进入危险区域警告。 8. **安全性与隐私**:保护用户隐私,确保...
根据提供的文件信息,可以推断这份文档是关于“基于iOS的医生小助手APP的设计与开发”的详细技术指南...这些知识点不仅涵盖了iOS APP开发的技术层面,还包括了应用发布的全过程,为开发者提供了一个全方位的开发指南。
"客户端制作工作"可能指的是客户端应用程序的源代码或构建过程文档,供开发者参考或进行二次开发。 【标签】"QQ,聊天,服务"进一步明确了这个项目的核心特征,即它是一个聊天应用,且与QQ有竞争关系,可能具备类似的...
基于Python的Web API自动化测试框架,可以利用Python的网络编程和数据处理能力,结合开源测试库,比如unittest或pytest,来编写可复用的测试模块。还可以使用诸如requests等第三方库来简化HTTP请求的发送和响应数据...
iOS应用开发工程师是移动开发领域中的关键角色,他们的工作涵盖了从产品构思到最终用户使用的全过程。以下是关于iOS应用开发工程师的岗位职责的详细说明: 1. **产品需求开发**:iOS应用开发工程师需要理解产品的...
总之,Android客户端软件开发工程师是构建移动应用的关键角色,他们的工作涵盖了从需求分析到软件发布和维护的全过程,需要不断适应技术更新,提升自身技能,以满足快速发展的移动互联网行业的需求。
综上所述,这个项目提供了学习和实践React Native跨平台移动开发的宝贵资源,涵盖了从组件化开发、样式设计、实时重载、原生模块、第三方库集成、性能优化到测试和部署的全过程。对于想要深入理解React Native或混合...
2. **编写自动化测试代码**:Instruments提供了丰富的API来实现自动化测试。例如,可以通过如下方式来操作界面上的元素: ```swift var target = UIATarget.localTarget(); var app = target.frontMostApp(); ...
总的来说,m2x-ios库是连接到AT&T M2X IoT平台的iOS应用开发者的强大工具,它简化了物联网应用的开发过程,使开发者能够快速实现设备数据的采集、处理和利用。通过熟练掌握这个库,开发者可以构建出创新的、与物联网...
书中的每一个案例都是从创建新项目开始,到功能实现和测试结束,一步一步带领读者深入理解Xamarin开发的全过程。对于希望掌握Xamarin跨平台开发技能的开发者来说,这本书是一个很好的实践指南。
通过这个项目,我们可以学习到如何设置开发环境、配置证书、编写推送服务端代码以及客户端接收和处理推送通知的全过程。 1. **iOS推送通知概述**:推送通知是iOS应用在后台时与用户交互的主要方式,它可以在应用未...
开发者可以通过APPCan提供的可视化界面和代码编辑器来设计和编写应用界面,同时利用其提供的API和框架来处理业务逻辑和数据管理。手机客户端的开发涵盖了界面设计、交互逻辑、数据同步等多个方面,APPCan平台通常会...
对于iOS,开发者可能使用Swift或Objective-C编写代码,利用Xcode集成开发环境进行开发;对于Android,主要使用Java或Kotlin语言,借助Android Studio进行编程。开发者需要理解iOS和Android的UI设计原则、网络请求、...