一,使用Newsstand Kit API
苹果公司在iOS5之后提供了电子报刊杂志开发API-Newsstand Kit.Newsstand Kit 只有3个类;NKLibrary,NKIssue和NKAssetDownload.
NKAssetDownload类封装了要下载的报刊杂志资源类。这些资源包括HTML文件,文本文件,图片文件,PDF文件和多媒体文件等,或者是这些资源文件之后的ZIP文件。
IssueService类,是我们自定义的类,它主要处理杂志封面下载,杂志内容资源下载和从发行商服务器下载元数据等处理。
下载这些杂志有两种方式,一种是在这个画面点击“下载”按钮,直接主动下载,另一种是在后台接收到发行商推送通知后被动触发下载。
二,后台资源下载。
后台下载是Newsstand应用的最大亮点,应用中在不要需要用户干预的情况下,自动在后台下载,发行商需要借助于推送通知,把新版本的发布信息告知应用,应用就会在后台下载这些报刊杂志内容。
很多人会担心是否耗费更多的流量费用?苹果公司为此考虑得很多,后台下载必须在设备连接WiFi之后才能下载,每天只能下载一次。此外,开发者也可以将下载的资源文件压缩成ZIP包,下载本地后在解压缩。这些都可以保证减少网络流量。
三,断点续传。
如果应用正在下载资源文件时,应用被终止,那会出现什么情况呢?苹果公司早就考虑到了,我们不需要自己实现断点续传具体实现,iOS会记录下这些没有下载完成文件,开发人员工作变得简单了。
四,读取杂志内容。
iOS通过QuickLook框架的QLPreviewController视图控制器直接打开PDF,文本文件等。它的呈现方式有二种,一种是把QLPreviewController放入到UINavigationController中以导师航模式呈现;另一种是使用presendModalViewController:animated:方法采用模态视图呈现。
参考资料:《iOS网络编程与云端应用-最佳实践》