Push Notification 通知推送

Push Notification 通知推送,通知是 App 用来和用户交流的一种方式,特别是当 App 并没有在前台运行的时候。通知,正如它的名称所强调的,被用作向用户‘通知’一个事件,或者仅仅向用户提示一条重要信息。总而言之,通知在提示类型的 App 当中非常有用,甚至在一些别的类型的 App 当中也是如此。比如,当用户进入一个指定区域(这是 iOS8 的新特性),一个下载任务完成,或者当朋友给你发送一条信息的时候,一条通知就可以被显示出来。

MKMapView 地图

MKMapView 地图,在 iOS6 或者 iOS7 中实现这个功能只需要添加地图控件、设置用户跟踪模式、在 mapView didUpdateUserLocation 代理方法中设置地图中心区域及显示范围。在 iOS8+ 中由于在地图中进行用户位置跟踪需要使用定位功能,而定位功能在 iOS8 中设计发生了变化,因此必须按照定位中提到的内容进行配置和请求。

GeoCoder 地理编码

GeoCoder 地理编码,地名 -> 经纬度 等具体位置数据信息。根据给定的位置(通常是地名)确定地理坐标(经、纬度)。反地理编码,经纬度 -> 地名。可以根据地理坐标(经、纬度)确定位置信息(街道、门牌等)。

CoreLocation 定位

CoreLocation 定位,在 iOS7 及以前的版本,如果在应用程序中使用定位服务只要在程序中调用 `startUpdatingLocation` 方法应用就会询问用户是否允许此应用是否允许使用定位服务,但是在 iOS8 中配置项发生了变化,可以通过配置 `Privacy - Location Always Usage Description (NSLocationAlwaysUsageDescription)` 或者 `Privacy - Location When In Use Usage Description(NSLocationWhenInUseUsageDescription)` 来告诉用户使用定位服务的目的。

RefreshControl 刷新数据

RefreshControl 刷新数据,UITableViewController 自带刷新控件。使用 StoryBoard 创建的表格视图控制器可在 SB 的 TableViewController 中将 Refreshing 项设置为 Enableed,在控件为列表中将自动添加一个名为 Refresh Control 的控件,将该控件连接到代码中的自定义加载数据方法,即可实现刷新数据的操作。

LocalCache 本地数据缓存

LocalCache 本地数据缓存,沙盒路径下的 Library/Caches 用来存放缓存文件,保存从网络下载的请求数据,后续仍然需要继续使用的文件,例如网络下载的离线数据,图片,视频文件等。该目录中的文件系统不会自动删除,可以做离线访问。它的存放时间比 tmp 下的长,但是不如 Library 下的其它目录。

Sign up/in 注册/登录

Sign up/in 注册/登录,不能在网络上传输用户隐私数据的明文。不能在本地和服务器上存储用户隐私数据的明文。登录成功之后,应该跳转视图控制器到主页。如果用户上次登录成功,启动应用程序时,直接进入主页。当用户主动注销的时候,返回登录页面。在实际开发中,关于网络方面的代码执行,通常会有一个单例统一管理。涉及到网络就涉及到多线程的异步,需要控制最大并发数。

Alamofire 网络请求

Alamofire 网络请求,Alamofire 是 Swift 语言的 HTTP 网络开发工具包,相当于 Swift 实现 AFNetworking 版本。当然,AFNetworking 非常稳定,在 Mac OSX 与 iOS 中也能像其他 Objective-C 代码一样用 Swift 编写。不过 Alamofire 更适合 Swift 语言风格习惯(Alamofire 与 AFNetworking 可以共存一个项目中,互不影响)。Alamofire 取名来源于 Alamo Fire flower。

AFNetworking 网络请求

AFNetworking 网络请求,在 iOS 开发中,一般情况下,简单的向某个 Web 站点简单的页面提交请求并获取服务器的响应,用 Xcode 自带的 NSURLConnection 是能胜任的。但是,在绝大部分下我们所需要访问的 Web 页面则是属于那种受到权限保护的页面,并不是有一个简单的 URL 可以访问的。这就涉及到了 Session 和 Cookie 的处理了,在此时使用 NSURLConnection 也是能够达到要求的,只是其中处理起来的复杂度和难度就提升了。为了更好的处理向 Web 站点的请求,包括处理 Session,Cookie 等细节问题,使用 AFNetworking 则是更好的选择。

ASIHTTPRequest 网络请求

ASIHTTPRequest 网络请求,使用 iOS SDK 中的 HTTP 网络请求 API,相当的复杂,调用很繁琐,ASIHTTPRequest 就是一个对 CFNetwork API 进行了封装,并且使用起来非常简单的一套 API,外号 “HTTP终结者”,用 Objective-C 编写,运行效率很高,可以很好的应用在 Mac OS X 系统和 iOS 平台的应用程序中,ASIHTTPRequest 适用于基本的 HTTP 请求,和基于 REST 的服务之间的交互。