Info | Value |
-------------------------|-------------------------------------|
Platform Name | iOS
Platform Version | 10.0
SDWebImage Version | 4.0.0
Integration Method | Carthage
Xcode Version | Xcode 8.2.1
Repro rate | all the time (100%)
Hello,
I am using version 4.0 of the framework. I have this Swift compiler warning:
/project_path/<module-includes>:1:1: Umbrella header for module 'SDWebImage' does not include header 'FLAnimatedImage.h'
Is FLAnimatedImage supposed to be added separately and how do I get rid of this warning?
thanks!
@ivan-konov please fill in the info required in the ISSUE TEMPLATE
There you go.
This is a useful read on the issue:
http://stackoverflow.com/questions/32923483/umbrella-header-for-module-myframework-does-not-include-header-otherframework
People who use the "raw" source code should be able to fix it themselves. I prefer to use Carthage to add frameworks to my projects so I would wait for it to be fixed in the repo :)
Hi guys,
It has been a while with this. What is the status of this issue?
Do you need help?
I can not use your library because of "Umbrella header for module 'SDWebImage' does not include header 'FLAnimatedImage.h''.
Thank you very much,
CALINOIU Laura
@ivan-konov @tualatrix (who created #1781) @lauracalinoiu this problem is tricky.
When installing via Carthage, indeed you get FLAnimatedImage as well. But with CocoaPods, you can just use the Core subspec which means no FLAnimatedImage.
Also, if you do install FLAnimatedImage as a dependency of SDWebImage via CocoaPods, this path <SDWebImage/FLAnimatedImage.h> will not work.
Not sure what to do here.
CC @mythodeia @skyline75489
Actually I think I found a way.
#if __has_include(<SDWebImage/FLAnimatedImage.h>)
#import <SDWebImage/FLAnimatedImage.h>
#endif
#if __has_include(<SDWebImage/FLAnimatedImageView.h>)
#import <SDWebImage/FLAnimatedImageView.h>
#endif
It will check if the inclusion is available.
Because the issue of direct inclusion was not so easy. It might have worked for Carthage alone, but for people installing via CocoaPods, it would not have worked.
And we cannot use the Project visibility for FLAnimatedImage.h and FLAnimatedImageView.h since people using Carthage might need to reference FLAnimatedImage entities directly. For WebP, since we hide all the implementation details, we don't need to make any of those headers Public so the umbrella warning does not apply there.
Nice, thanks a lot! :)
Most helpful comment
There you go.