URLDataProvider
Swift
@objc(PSPDFURLDataProvider)
public final class URLDataProvider : NSObject, DataProviding
The URLDataProvider
manages automatic downloading of a file.
By default, downloads will use URLCache
to cache downloads.
The downloaded file is stored in a tmp directory (purged automatically by the system)
while the cache is stored in the Caches directory (preserved except on low disk events)
If a custom targetURL
is set and a file exists at this location, no download will be attempted.
To ensure that the file is always up-to-date, delete the file at targetURL
before allocating this class.
This class starts downloading the file as soon as it is initialized.
PSPDF_EXPORT(PSPDFURLDataProvider)
-
URL is fixed at init time.
Declaration
Swift
@objc(URL) public let url: URL
-
Location of the file on-disk, once download is complete. If
targetURL
is not set in the initializer, an automatic URL is generated. If a file exists there, downloading is skipped.Declaration
Swift
@objc(targetURL) public let targetURL: URL
-
The session configuration that is used to initiate the download.
Declaration
Swift
@objc(sessionConfiguration) public let sessionConfiguration: URLSessionConfiguration?
-
Initialize class with an URL and an optional session configuration.
Note
URLSessionConfiguration
cannot be serialized via NSCoder and is ignored.Declaration
Swift
@objc(initWithURL:sessionConfiguration:targetURL:) public init(url: URL, sessionConfiguration: URLSessionConfiguration? = nil, targetURL: URL? = nil)
-
Convenience initializer to improve Objective-C API.
Declaration
Swift
@objc(initWithURL:) public convenience init(url: URL)
-
Undocumented
Declaration
Swift
public override var description: String { get }
-
Undocumented
Declaration
Swift
public static let supportsSecureCoding: Bool
-
Undocumented
Declaration
Swift
public func encode(with coder: NSCoder)
-
Undocumented
Declaration
Swift
required public init?(coder: NSCoder)
-
Undocumented
Declaration
Swift
public func data() throws -> Data
-
Undocumented
Declaration
Swift
public var size: UInt64 { get }
-
Undocumented
Declaration
Swift
public var uid: String
-
Undocumented
Declaration
Swift
public var error: Error?
-
Writing is not supported
Declaration
Swift
public var additionalOperationsSupported: DataProvidingAdditionalOperations
-
Returns progress of the download task
Declaration
Swift
public var progress: Progress?
-
Undocumented
Declaration
Swift
public var signature: Data?
-
Undocumented
Declaration
Swift
public func readData(withSize size: UInt64, atOffset offset: UInt64) throws -> Data
-
Converts a URL into a file name that can be safely stored on disk. While the path should be unique, conflicts might happen if the URL is too long and too similar.
Declaration
Swift
@objc(defaultTargetURLForRemoteURL:) public class func defaultTargetURL(for remoteURL: URL) -> URL?
-
Downloads by default use this custom, large cache to ensure files are being updated correctly. https://pspdfkit.com/blog/2020/downloading-large-files-with-urlsession/
Declaration
Swift
@objc(cache) static var cache: URLCache?