File tree Expand file tree Collapse file tree
FirebaseStorageUI/Sources Expand file tree Collapse file tree Original file line number Diff line number Diff line change 4747 uses : actions/checkout@main
4848 - name : Select Xcode version
4949 run : |
50- sudo xcode-select -switch /Applications/Xcode_16.3 .app/Contents/Developer
50+ sudo xcode-select -switch /Applications/Xcode_16.4 .app/Contents/Developer
5151 - name : List
5252 run : |
5353 xcodebuild -list
6363 uses : actions/checkout@main
6464 - name : Select Xcode version
6565 run : |
66- sudo xcode-select -switch /Applications/Xcode_16.3 .app/Contents/Developer
66+ sudo xcode-select -switch /Applications/Xcode_16.4 .app/Contents/Developer
6767 - name : Setup
6868 run : gem install bundler; bundle install
6969 - name : Build
Original file line number Diff line number Diff line change 1616
1717#import " FirebaseStorageUI/Sources/Public/FirebaseStorageUI/FIRStorageDownloadTask+SDWebImage.h"
1818
19+ // For SPM builds the header is empty (no @import, no @interface) to keep the
20+ // Clang module scanner happy. Provide the full import and category declaration
21+ // here where @import is safe (compilation phase, not scan phase).
22+ #if !__has_include(<FirebaseStorage/FirebaseStorage.h>) && !__has_include(<FirebaseStorage/FirebaseStorage-Swift.h>)
23+ @import FirebaseStorage;
24+ NS_ASSUME_NONNULL_BEGIN
25+ @interface FIRStorageDownloadTask (SDWebImage) <SDWebImageOperation>
26+ @end
27+ NS_ASSUME_NONNULL_END
28+ #endif
29+
1930@implementation FIRStorageDownloadTask (SDWebImage)
2031
2132@end
Original file line number Diff line number Diff line change @@ -164,7 +164,7 @@ - (BOOL)canRequestImageForURL:(NSURL *)url {
164164 }
165165 }];
166166
167- return download;
167+ return ( id <SDWebImageOperation>) download;
168168}
169169
170170- (BOOL )shouldBlockFailedURLWithURL : (NSURL *)url error : (NSError *)error {
Original file line number Diff line number Diff line change 1717#import " FirebaseStorageUI/Sources/Public/FirebaseStorageUI/NSURL+FirebaseStorage.h"
1818#import < objc/runtime.h>
1919
20+ #if __has_include(<FirebaseStorage/FirebaseStorage.h>)
21+ #import < FirebaseStorage/FirebaseStorage.h>
22+ #elif __has_include(<FirebaseStorage/FirebaseStorage-Swift.h>)
23+ #import < FirebaseStorage/FirebaseStorage-Swift.h>
24+ #else
25+ @import FirebaseStorage;
26+ #endif
27+
2028@implementation NSURL (FirebaseStorage)
2129
2230- (FIRStorageReference *)sd_storageReference {
Original file line number Diff line number Diff line change 1414// limitations under the License.
1515//
1616
17+ #import < SDWebImage/SDWebImage.h>
18+
19+ // The category declaration requires FIRStorageDownloadTask to be fully defined,
20+ // which is only possible when the CocoaPods-style headers are present.
21+ // For SPM builds the declaration (and @import FirebaseStorage) live in the .m file
22+ // so the Clang module scanner never sees @import here.
1723#if __has_include(<FirebaseStorage/FirebaseStorage.h>)
18- // Firebase 8.x
24+ // Firebase 8.x (CocoaPods)
1925 #import < FirebaseStorage/FirebaseStorage.h>
26+ NS_ASSUME_NONNULL_BEGIN
27+ @interface FIRStorageDownloadTask (SDWebImage) <SDWebImageOperation>
28+ @end
29+ NS_ASSUME_NONNULL_END
2030#elif __has_include(<FirebaseStorage/FirebaseStorage-Swift.h>)
21- // Firebase 9.0+
31+ // Firebase 9.0+ (CocoaPods)
2232 #import < FirebaseStorage/FirebaseStorage-Swift.h>
23- #else
24- @import FirebaseStorage;
33+ NS_ASSUME_NONNULL_BEGIN
34+ @interface FIRStorageDownloadTask (SDWebImage) <SDWebImageOperation>
35+ @end
36+ NS_ASSUME_NONNULL_END
2537#endif
26- #import < SDWebImage/SDWebImage.h>
27-
28- NS_ASSUME_NONNULL_BEGIN
29-
30- // `FIRStorageDownloadTask` conforms to `SDWebImageOperation` protocol
31- @interface FIRStorageDownloadTask (SDWebImage) <SDWebImageOperation>
32-
33- @end
34-
35- NS_ASSUME_NONNULL_END
Original file line number Diff line number Diff line change 1414// limitations under the License.
1515//
1616
17- #if __has_include(<FirebaseStorage/FirebaseStorage.h>)
18- // Firebase 8.x
19- #import < FirebaseStorage/FirebaseStorage.h>
20- #elif __has_include(<FirebaseStorage/FirebaseStorage-Swift.h>)
21- // Firebase 9.0+
22- #import < FirebaseStorage/FirebaseStorage-Swift.h>
23- #else
24- @import FirebaseStorage;
25- #endif
2617#import < SDWebImage/SDWebImage.h>
2718
2819/* *
Original file line number Diff line number Diff line change 1616#import < Foundation/Foundation.h>
1717
1818#if __has_include(<FirebaseStorage/FirebaseStorage.h>)
19- // Firebase 8.x
19+ // Firebase 8.x (CocoaPods)
2020 #import < FirebaseStorage/FirebaseStorage.h>
2121#elif __has_include(<FirebaseStorage/FirebaseStorage-Swift.h>)
22- // Firebase 9.0+
22+ // Firebase 9.0+ (CocoaPods)
2323 #import < FirebaseStorage/FirebaseStorage-Swift.h>
2424#else
25- @import FirebaseStorage;
25+ // Swift Package Manager: forward declaration only.
26+ @class FIRStorageReference;
2627#endif
2728
2829NS_ASSUME_NONNULL_BEGIN
Original file line number Diff line number Diff line change 1717#import < UIKit/UIKit.h>
1818
1919#if __has_include(<FirebaseStorage/FirebaseStorage.h>)
20- // Firebase 8.x
20+ // Firebase 8.x (CocoaPods)
2121 #import < FirebaseStorage/FirebaseStorage.h>
2222#elif (__has_include(<FirebaseStorage/FirebaseStorage-Swift.h>))
23- // Firebase 9.0+
23+ // Firebase 9.0+ (CocoaPods)
2424 #import < FirebaseStorage/FirebaseStorage-Swift.h>
2525#else
26- // If you're using FirebaseStorageUI via Swift Package Manager
27- // from a Swift or mixed Swift/ObjC build target, you will need
28- // to add
29- // -Xcc -fmodule-map-file=$(GENERATED_MODULEMAP_DIR)/FirebaseStorage.modulemap
30- // to your target's Other Swift Flags build setting.
31- // See
32- // https://github.com/firebase/FirebaseUI-iOS/issues/1028#issuecomment-1262689219
33- // for more details.
34- @import FirebaseStorage;
26+ // Swift Package Manager: forward declarations only to avoid Clang module-scanner
27+ // failures. Your app target must `@import FirebaseStorage` (or `import FirebaseStorage`
28+ // in Swift) separately.
29+ @class FIRStorage;
30+ @class FIRStorageReference;
31+ @class FIRStorageDownloadTask;
3532#endif
3633#import < SDWebImage/SDWebImage.h>
3734
Original file line number Diff line number Diff line change 1717#import " FirebaseStorageUI/Sources/Public/FirebaseStorageUI/UIImageView+FirebaseStorage.h"
1818#import " FirebaseStorageUI/Sources/Public/FirebaseStorageUI/FUIStorageImageLoader.h"
1919
20+ #if __has_include(<FirebaseStorage/FirebaseStorage.h>)
21+ #import < FirebaseStorage/FirebaseStorage.h>
22+ #elif __has_include(<FirebaseStorage/FirebaseStorage-Swift.h>)
23+ #import < FirebaseStorage/FirebaseStorage-Swift.h>
24+ #else
25+ @import FirebaseStorage;
26+ #endif
27+
2028@implementation UIImageView (FirebaseStorage)
2129
2230- (void )sd_setImageWithStorageReference : (FIRStorageReference *)storageRef {
You can’t perform that action at this time.
0 commit comments