iOS Developer Library

Developer

NewsstandKit Framework Reference NKAssetDownload Class Reference

Options
Deployment Target:

On This Page
Language:

NKAssetDownload

Inheritance


Conforms To


Import Statement


Swift

import NewsstandKit

Objective-C

@import NewsstandKit;

Availability


Available in iOS 5.0 and later.

An instance of the NKAssetDownload class represents an asset that is being downloaded (or has downloaded) for an issue of a Newsstand application.

An asset can be either a component of an issue—for example, an HTML file, a plain-text file, an image, or a video—or the entire issue compressed in a ZIP or other archive. The latter approach is recommended.

You create an NKAssetDownload instance using the NKIssue method addAssetWithRequest:; you pass into this method an NSURLRequest object that contains the URL locating the asset on the application’s server. To begin downloading the asset, call downloadWithDelegate: on the NKAssetDownload object. The delegate specified as the parameter of this message must adopt the NSURLConnectionDownloadDelegate protocol. It should implement the three methods specific to handling downloads of issue assets:

If a Newsstand application terminates while asset downloading is underway, the downloading continues in the background. When the asset is downloaded, the application is brought to the foreground if it has a newsstand-content value for the UIBackgroundModes array in the information property list. It should obtain an instance of NKIssue and iterate through the NKAssetDownload objects in the downloadingAssets array; for each object, call downloadWithDelegate: on it and have the delegate process the remaining downloads.

  • Returns a connection object and starts downloading the issue asset with a specified delegate to handle callbacks.

    Declaration

    Swift

    func downloadWithDelegate(_ delegate: NSURLConnectionDownloadDelegate!) -> NSURLConnection!

    Objective-C

    - (NSURLConnection *)downloadWithDelegate:(id<NSURLConnectionDownloadDelegate>)delegate

    Parameters

    delegate

    A object that adopts the NSURLConnectionDownloadDelegate protocol and implements the methods related to issue-asset downloads.

    Return Value

    An object representing the URL connection.

    Discussion

    Upon receipt of this message, the Newsstand Kit framework creates a NSURLConnection object from the NSURLRequest object encapsulated by the receiver, returns the connection object, and typically begins downloading the issue asset. (If the download is already underway, it simply returns the associated connection object.) It sends messages to the connection-download delegate at the appropriate junctures until the download concludes.

    Import Statement

    Objective-C

    @import NewsstandKit;

    Swift

    import NewsstandKit

    Availability

    Available in iOS 5.0 and later.

  • An identifier for the downloaded asset.

    Declaration

    Swift

    var identifier: String! { get }

    Objective-C

    @property(readonly, copy) NSString *identifier

    Discussion

    A unique string identifier that Newsstand Kit generates and assigns to the asset download.

    Import Statement

    Objective-C

    @import NewsstandKit;

    Swift

    import NewsstandKit

    Availability

    Available in iOS 5.0 and later.

  • userInfo userInfo Property

    Application-specific information that is saved with the asset-download object.

    Declaration

    Swift

    var userInfo: [NSObject : AnyObject]!

    Objective-C

    @property(copy) NSDictionary *userInfo

    Discussion

    This dictionary is for storing arbitrary key-value pairs associated with the asset download. The keys and values must be valid property-list types; if any are not, an exception is raised. Examples of download-related information you might store in the dictionary are the file (issue) name, the download URL, the encoding mechanisms, and custom identifiers. However, for performance reasons the dictionary content should be as minimal as possible. You can also assign nil to this property.

    Import Statement

    Objective-C

    @import NewsstandKit;

    Swift

    import NewsstandKit

    Availability

    Available in iOS 5.0 and later.

    See Also

    identifier

  • The URL request associated with the asset download. (read-only)

    Declaration

    Swift

    @NSCopying var URLRequest: NSURLRequest! { get }

    Objective-C

    @property(readonly, copy) NSURLRequest *URLRequest

    Discussion

    This object was passed into the the addAssetWithRequest: method of NKIssue to create the NKAssetDownload object.

    Import Statement

    Objective-C

    @import NewsstandKit;

    Swift

    import NewsstandKit

    Availability

    Available in iOS 5.0 and later.

    See Also

    identifier
    issue

  • issue issue Property

    The issue associated with the asset download. (read-only)

    Declaration

    Swift

    weak var issue: NKIssue! { get }

    Objective-C

    @property(readonly, weak) NKIssue *issue

    Import Statement

    Objective-C

    @import NewsstandKit;

    Swift

    import NewsstandKit

    Availability

    Available in iOS 5.0 and later.