一,使用Newsstand Kit API 蘋果公司在iOS5之後提供了電子報刊雜誌開發API-Newsstand Kit.Newsstand Kit 只有3個類;NKLibrary,NKIssue和NKAssetDownload. NKAssetDownload類封裝了要下載的報刊雜誌資源類。這些 ...
一,使用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網路編程與雲端應用-最佳實踐》