iOS開發之NewsstandKit.framework的使用

來源:互聯網
上載者:User

標籤:des   http   io   ar   os   使用   sp   div   on   

本文轉載至 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會帶入參數,您可以通過它擷取資訊。然後就可以啟動下載。

iOS開發之NewsstandKit.framework的使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.