我想开发一个与网络服务器通信的应用程序。 我有一个带有数据的网络服务器,我想在iOS设备上加载。
我的目标是:
- 我启动应用程序
- 登录Web服务器(如果我之前已连接到网络服务器,则使用离线)
- 处理我的数据,阅读我的新闻等,更改任何数据(在线和离线)
- 使用应用时检查,如果有任何数据发生变化,并且“更新”或“上传”对网络服务器的更改
*The Data's are only text, no images, no files at the moment*
现在我的问题是,这是我的应用程序的最佳方式?
我应该使用哪个API让我的网络服务器与iOS设备进行通信?
- 我已经阅读了很多XML和JSON,并且JSON可能是最快,最容易在网络服务器和iOS上使用它。
如何脱机使用应用程序并在更改时解析它?如果有任何变化,我该如何同步?
我应该如何解决登录,如何进行身份验证?我认为这是一个非常重要的安全点。
我认为仅使用Request不会有效,因为有很多数据。
感谢您的任何建议,
brush51
答案 0 :(得分:2)
要进行沟通,请考虑使用ASIHTTPRequest等库。
什么是ASIHTTPRequest?
ASIHTTPRequest是一个易于使用的包装器 围绕CFNetwork API,它使一些更乏味的方面 与Web服务器通信更容易。它是用Objective-C编写的 并适用于Mac OS X和iPhone应用程序。适合执行基本HTTP请求并与之交互 基于REST的服务(GET / POST / PUT / DELETE)。包括在内 ASIFormDataRequest子类使得提交POST数据变得容易 使用multipart / form-data的文件。
数据格式(JSON,XML)非常适合您。我喜欢JSON,肯定是时髦的。
就身份验证而言,请考虑使用https://请求来保护通信。通过https发送用户名/密码,然后分配带有身份验证令牌的cookie。在后续请求中,身份验证令牌将在cookie中自动发送(如果您使用https://将被加密)。您的api需要确保cookie中的身份验证令牌是合法的,然后进行处理。
这是我过去使用的一种安全方法,效果很好。你可以阅读很多关于如何确保沟通的好文章。