Commit 1ed6d66 1 parent 3de7e6c commit 1ed6d66 Copy full SHA for 1ed6d66
File tree 4 files changed +15
-9
lines changed
4 files changed +15
-9
lines changed Original file line number Diff line number Diff line change @@ -27,7 +27,8 @@ NS_SWIFT_NAME(ComponentType)
27
27
28
28
// / Do not use directly. A factory method to retrieve an instance that provides a specific
29
29
// / functionality.
30
- + (T)instanceForProtocol:(Protocol *)protocol inContainer:(FIRComponentContainer *)container;
30
+ + (nullable T)instanceForProtocol:(Protocol *)protocol
31
+ inContainer:(FIRComponentContainer *)container;
31
32
32
33
@end
33
34
Original file line number Diff line number Diff line change 20
20
21
21
@implementation FIRComponentType
22
22
23
- + (id )instanceForProtocol : (Protocol *)protocol inContainer : (FIRComponentContainer *)container {
23
+ + (nullable id )instanceForProtocol : (Protocol *)protocol
24
+ inContainer : (FIRComponentContainer *)container {
24
25
// Forward the call to the container.
25
26
return [container instanceForProtocol: protocol];
26
27
}
Original file line number Diff line number Diff line change @@ -61,8 +61,10 @@ import FirebaseCore
61
61
/// - Parameter app: The custom `FirebaseApp` used for initialization.
62
62
/// - Returns: A `Storage` instance, configured with the custom `FirebaseApp`.
63
63
@objc ( storageForApp: ) open class func storage( app: FirebaseApp ) -> Storage {
64
- let provider = ComponentType< StorageProvider> . instance( for: StorageProvider . self,
65
- in: app. container)
64
+ guard let provider = ComponentType< StorageProvider> . instance( for: StorageProvider . self,
65
+ in: app. container) else {
66
+ fatalError ( " No \( StorageProvider . self) instance found for Firebase app: \( app. name) " )
67
+ }
66
68
return provider. storage ( for: Storage . bucket ( for: app) )
67
69
}
68
70
@@ -75,8 +77,10 @@ import FirebaseCore
75
77
/// URL.
76
78
@objc ( storageForApp: URL: )
77
79
open class func storage( app: FirebaseApp , url: String ) -> Storage {
78
- let provider = ComponentType< StorageProvider> . instance( for: StorageProvider . self,
79
- in: app. container)
80
+ guard let provider = ComponentType< StorageProvider> . instance( for: StorageProvider . self,
81
+ in: app. container) else {
82
+ fatalError ( " No \( StorageProvider . self) instance found for Firebase app: \( app. name) " )
83
+ }
80
84
return provider. storage ( for: Storage . bucket ( for: app, urlString: url) )
81
85
}
82
86
Original file line number Diff line number Diff line change @@ -70,14 +70,14 @@ class StorageComponentTests: StorageTestHelpers {
70
70
in: container)
71
71
XCTAssertNotNil ( provider)
72
72
73
- let storage1 = provider. storage ( for: " randomBucket " )
74
- let storage2 = provider. storage ( for: " randomBucket " )
73
+ let storage1 = provider? . storage ( for: " randomBucket " )
74
+ let storage2 = provider? . storage ( for: " randomBucket " )
75
75
XCTAssertNotNil ( storage1)
76
76
77
77
// Ensure they're the same instance.
78
78
XCTAssert ( storage1 === storage2)
79
79
80
- let storage3 = provider. storage ( for: " differentBucket " )
80
+ let storage3 = provider? . storage ( for: " differentBucket " )
81
81
XCTAssertNotNil ( storage3)
82
82
83
83
XCTAssert ( storage1 !== storage3)
You can’t perform that action at this time.
0 commit comments