Closed
Description
Description
The new implementation of 'putFile' method, breaks old code.
If I pass StorageMetadata object with set up 'contentType' to this method, I get crash with error
FirebaseStorage/StorageUploadTask.swift:68: Fatal error: Internal error enqueueing a Storage task
because 'path' and 'name' won't be set for metadata object from parameters.
open func putFile(from fileURL: URL,
metadata: StorageMetadata? = nil,
completion: ((_: StorageMetadata?, _: Error?) -> Void)?) -> StorageUploadTask {
var putMetadata: StorageMetadata
if metadata == nil {
putMetadata = StorageMetadata()
if let path = path.object {
putMetadata.path = path
putMetadata.name = (path as NSString).lastPathComponent as String
}
} else {
putMetadata = metadata!
}
'putData' method has different implementation and works well.
open func putData(_ uploadData: Data,
metadata: StorageMetadata? = nil,
completion: ((_: StorageMetadata?, _: Error?) -> Void)?) -> StorageUploadTask {
let putMetadata = metadata ?? StorageMetadata()
if let path = path.object {
putMetadata.path = path
putMetadata.name = (path as NSString).lastPathComponent as String
}
Reproducing the issue
No response
Firebase SDK Version
10
Xcode Version
14.0.1
Installation Method
CocoaPods
Firebase Product(s)
Storage
Targeted Platforms
iOS
Relevant Log Output
No response
If using Swift Package Manager, the project's Package.resolved
No response
If using CocoaPods, the project's Podfile.lock
No response