StorageReference represents a reference to a Google Cloud Storage object. Developers can
upload and download objects, as well as get/set object metadata, and delete an object at the
path. See the Cloud docs for more details.
Firebase Storage is a service that supports uploading and downloading binary objects,
such as images, videos, and other files to Google Cloud Storage. Instances of Storage
are not thread-safe, but can be accessed from any thread.
If you call Storage.storage(), the instance will initialize with the default FirebaseApp,
FirebaseApp.app(), and the storage location will come from the provided
GoogleService-Info.plist.
If you provide a custom instance of FirebaseApp,
the storage location will be specified via the FirebaseOptions.storageBucket property.
StorageDownloadTask implements resumable downloads from an object in Firebase Storage.
Downloads can be returned on completion with a completion handler, and can be monitored
by attaching observers, or controlled by calling pause(), resume(),
or cancel().
Downloads can currently be returned as Data in memory, or as a URL to a file on disk.
Downloads are performed on a background queue, and callbacks are raised on the developer
specified callbackQueue in Storage, or the main queue if left unspecified.
Class which represents the metadata on an object in Firebase Storage.
This metadata is
returned on successful operations, and can be used to retrieve download URLs, content types,
and a Storage reference to the object in question. Full documentation can be found in the
GCS documentation
A superclass to all Storage tasks, including StorageUploadTask
and StorageDownloadTask, to provide state transitions, event raising, and common storage
for metadata and errors.
Callbacks are always fired on the developer-specified callback queue.
If no queue is specified, it defaults to the main queue.
This class is thread-safe.
StorageTaskSnapshot represents an immutable view of a task.
A snapshot contains a task, storage reference, metadata (if it exists),
progress, and an error (if one occurred).
StorageUploadTask implements resumable uploads to a file in Firebase Storage.
Uploads can be returned on completion with a completion callback, and can be monitored
by attaching observers, or controlled by calling pause(), resume(),
or cancel().
Uploads can be initialized from Data in memory, or a URL to a file on disk.
Uploads are performed on a background queue, and callbacks are raised on the developer
specified callbackQueue in Storage, or the main queue if unspecified.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-07-30 UTC."],[],[],null,["# FirebaseStorage Framework Reference\n\nClasses\n=======\n\nThe following classes are available globally.\n- `\n ``\n ``\n `\n\n ### [StorageReference](/docs/reference/swift/firebasestorage/api/reference/Classes/StorageReference)\n\n `\n ` \n `StorageReference` represents a reference to a Google Cloud Storage object. Developers can\n upload and download objects, as well as get/set object metadata, and delete an object at the\n path. See the [Cloud docs](https://cloud.google.com/storage/) for more details. \n\n #### Declaration\n\n Swift \n\n @available(iOS 13, tvOS 13, macOS 10.15, watchOS 7, *)\n @objc(FIRStorageReference)\n open class StorageReference : NSObject\n\n- `\n ``\n ``\n `\n\n ### [Storage](/docs/reference/swift/firebasestorage/api/reference/Classes/Storage)\n\n `\n ` \n Firebase Storage is a service that supports uploading and downloading binary objects,\n such as images, videos, and other files to Google Cloud Storage. Instances of `Storage`\n are not thread-safe, but can be accessed from any thread.\n\n If you call [Storage.storage()](/docs/reference/swift/firebasestorage/api/reference/Classes/Storage#/c:@M@FirebaseStorage@objc(cs)FIRStorage(cm)storage), the instance will initialize with the default `FirebaseApp`,\n `FirebaseApp.app()`, and the storage location will come from the provided\n `GoogleService-Info.plist`.\n\n If you provide a custom instance of `FirebaseApp`,\n the storage location will be specified via the `FirebaseOptions.storageBucket` property. \n\n #### Declaration\n\n Swift \n\n @available(iOS 13, tvOS 13, macOS 10.15, watchOS 7, *)\n @objc(FIRStorage)\n open class Storage : NSObject\n\n- `\n ``\n ``\n `\n\n ### [StorageDownloadTask](/docs/reference/swift/firebasestorage/api/reference/Classes/StorageDownloadTask)\n\n `\n ` \n `StorageDownloadTask` implements resumable downloads from an object in Firebase Storage.\n\n Downloads can be returned on completion with a completion handler, and can be monitored\n by attaching observers, or controlled by calling `pause()`, `resume()`,\n or `cancel()`.\n\n Downloads can currently be returned as `Data` in memory, or as a `URL` to a file on disk.\n\n Downloads are performed on a background queue, and callbacks are raised on the developer\n specified `callbackQueue` in Storage, or the main queue if left unspecified. \n\n #### Declaration\n\n Swift \n\n @available(iOS 13, tvOS 13, macOS 10.15, watchOS 7, *)\n @objc(FIRStorageDownloadTask)\n open class StorageDownloadTask : /docs/reference/swift/firebasestorage/api/reference/Classes/StorageObservableTask, /docs/reference/swift/firebasestorage/api/reference/Protocols/StorageTaskManagement\n\n- `\n ``\n ``\n `\n\n ### [StorageListResult](/docs/reference/swift/firebasestorage/api/reference/Classes/StorageListResult)\n\n `\n ` \n Contains the prefixes and items returned by a `StorageReference.list()` call. \n\n #### Declaration\n\n Swift \n\n @available(iOS 13, tvOS 13, macOS 10.15, watchOS 7, *)\n @objc(FIRStorageListResult)\n open class StorageListResult : NSObject\n\n- `\n ``\n ``\n `\n\n ### [StorageMetadata](/docs/reference/swift/firebasestorage/api/reference/Classes/StorageMetadata)\n\n `\n ` \n Class which represents the metadata on an object in Firebase Storage.\n\n This metadata is\n returned on successful operations, and can be used to retrieve download URLs, content types,\n and a Storage reference to the object in question. Full documentation can be found in the\n [GCS documentation](https://cloud.google.com/storage/docs/json_api/v1/objects#resource) \n\n #### Declaration\n\n Swift \n\n @available(iOS 13, tvOS 13, macOS 10.15, watchOS 7, *)\n @objc(FIRStorageMetadata)\n open class StorageMetadata : NSObject\n\n- `\n ``\n ``\n `\n\n ### [StorageObservableTask](/docs/reference/swift/firebasestorage/api/reference/Classes/StorageObservableTask)\n\n `\n ` \n An extended [StorageTask](/docs/reference/swift/firebasestorage/api/reference/Classes/StorageTask) providing observable semantics that can be used for responding to changes\n in task state.\n\n Observers produce a `StorageHandle`, which is used to keep track of and remove specific\n observers at a later date. \n\n #### Declaration\n\n Swift \n\n @available(iOS 13, tvOS 13, macOS 10.15, watchOS 7, *)\n @objc(FIRStorageObservableTask)\n open class StorageObservableTask : /docs/reference/swift/firebasestorage/api/reference/Classes/StorageTask\n\n- `\n ``\n ``\n `\n\n ### [StorageTask](/docs/reference/swift/firebasestorage/api/reference/Classes/StorageTask)\n\n `\n ` \n A superclass to all Storage tasks, including [StorageUploadTask](/docs/reference/swift/firebasestorage/api/reference/Classes/StorageUploadTask)\n and [StorageDownloadTask](/docs/reference/swift/firebasestorage/api/reference/Classes/StorageDownloadTask), to provide state transitions, event raising, and common storage\n for metadata and errors.\n\n Callbacks are always fired on the developer-specified callback queue.\n If no queue is specified, it defaults to the main queue.\n This class is thread-safe. \n\n #### Declaration\n\n Swift \n\n @available(iOS 13, tvOS 13, macOS 10.15, watchOS 7, *)\n @objc(FIRStorageTask)\n open class StorageTask : NSObject\n\n- `\n ``\n ``\n `\n\n ### [StorageTaskSnapshot](/docs/reference/swift/firebasestorage/api/reference/Classes/StorageTaskSnapshot)\n\n `\n ` \n `StorageTaskSnapshot` represents an immutable view of a task.\n A snapshot contains a task, storage reference, metadata (if it exists),\n progress, and an error (if one occurred). \n\n #### Declaration\n\n Swift \n\n @available(iOS 13, tvOS 13, macOS 10.15, watchOS 7, *)\n @objc(FIRStorageTaskSnapshot)\n open class StorageTaskSnapshot : NSObject\n\n- `\n ``\n ``\n `\n\n ### [StorageUploadTask](/docs/reference/swift/firebasestorage/api/reference/Classes/StorageUploadTask)\n\n `\n ` \n `StorageUploadTask` implements resumable uploads to a file in Firebase Storage.\n\n Uploads can be returned on completion with a completion callback, and can be monitored\n by attaching observers, or controlled by calling `pause()`, `resume()`,\n or `cancel()`.\n\n Uploads can be initialized from `Data` in memory, or a URL to a file on disk.\n\n Uploads are performed on a background queue, and callbacks are raised on the developer\n specified `callbackQueue` in Storage, or the main queue if unspecified. \n\n #### Declaration\n\n Swift \n\n @available(iOS 13, tvOS 13, macOS 10.15, watchOS 7, *)\n @objc(FIRStorageUploadTask)\n open class StorageUploadTask: /docs/reference/swift/firebasestorage/api/reference/Classes/StorageObservableTask,\n /docs/reference/swift/firebasestorage/api/reference/Protocols/StorageTaskManagement"]]