本文转载至 http://mobile.51cto.com/iphone-423385.htm

 

系统提供NewsstandKit.framework来支持newsstand类型的程序,就是在sprint board上看到在书架中的程序。提供有NKLibrary, NKIssue和NKAssetDownload的类。

AD:2014WOT全球软件技术峰会北京站 课程视频发布

1.系统提供NewsstandKit.framework来支持newsstand类型的程序,就是在sprint board上看到在书架中的程序。提供有NKLibrary, NKIssue和NKAssetDownload的类。其中NKLibrary用来管理Newsstand的内容(比如,当前阅读的issue,当前所有 的issue等);NKIssue用来表示一期刊物,您可以将刊物的URL,包装成NSURLRequest,set给NKIssue的对象。

NKIssue还可以很方便的管理刊物的状态(比如None, Downloading-下载中,Available-可用)。NKAssetDownload,可用于刊物的下载。它的 delegate符合NSURLConnectionDownloadDelegate的协议,这个协议中有三个方法:connection:didWriteData:totalBytesWritten:expectedTotalBytes:这个方法可以用来做 进度管理。

connectionDidResumeDownloading:totalBytesWritten:expectedTotalBytes:方法可以 用来做续传。

connectionDidFinishDownloading:destinationURL:方法表明下载已完成,可以更新界面的 Issue状态。

NewsstandKit是属于系统级别的,因此在app切换到后台或退出的时候,也会由系统选择继续下载。

如果使用ASIHttpRequest来下载的话也是没有问题的,但是没有后台下载,issue状态管理也需要自己来做。

2. 后台下载只能使用Newsstand Kit的framework实现。关键是自动下载。Newsstand类型的app可由push notification来触发下载流程。前提是注册push功能的时候,加上Newsstand的key。

像正常的push notification一样,app在前台,后台,或退出状态下都可以收到。前台的很简单,在 didReceiveRemoteNotification的方法中,弹一个alert,问用户是否需要下载;或者直接下载都可以(我之前的做法是会将要 下载的issue的信息包装到push notification的message body中)。如果ap是退出状态下的话,收到newsstand的push notification,app会直接在后台启动(这个你是看不到的),然后会走didFinishLaunchingWithOptions的方 法,option会带入参数,您可以通过它获取信息。然后就可以启动下载。

最新文章

  1. 启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法
  2. 在Azure上实现Linux Server故障转移
  3. [NOIP2011]观光公交 题解
  4. Openstack Day1简介及虚拟环境搭建
  5. BZOJ4046 [Cerc2014] Pork barre
  6. [C#]Linq To Xml 实例操作- 转
  7. iOS修改声明为readonly的属性值
  8. angularjs学习笔记—事件指令
  9. Linux远程拷贝scp命令
  10. ServiceStack.Hello——跨平台.net REST api服务搭建
  11. vim的配置文件参数
  12. Jenkins Kubernetes Slave 调度效率优化小记
  13. Android查缺补漏--ContentProvider的使用
  14. [国嵌攻略][070-095][Linux编程函数手册]
  15. RabbitMQ是如何运转的?
  16. R语言学习——矩阵
  17. Eclipse 设置保存代码时自动格式化
  18. Dart语言快速学习上手(新手上路)
  19. 【leetcode】 9. palindrome number
  20. G1垃圾收集器入门-原创译文

热门文章

  1. 自己写的微信小程序炸金花简单版
  2. 转 使用putty从linux主机上面往windows主机下面拷贝文件
  3. BZOJ 4540 [Hnoi2016]序列 (单调栈 + ST表 + 莫队算法)
  4. facebook面试题【转】
  5. Codeforces Gym 100431B Binary Search 搜索+组合数学+高精度
  6. 基于python脚本的对拍debug
  7. redis常用命令与使用分析
  8. PyTorch学习问题记录
  9. IDEA查看源码时提示:Library source does not match the bytecode for class的问题分析
  10. nginx和php通信