SDWebImage / SDWebImageWebPCoder

A WebP coder plugin for SDWebImage, use libwebp
MIT License
217 stars 84 forks source link

Carthage build fails when using XCFrameworks flag #56

Open daltonclaybrook opened 3 years ago

daltonclaybrook commented 3 years ago

Attempting to build SDWebImageWebPCode with Carthage using the --use-xcframeworks flag results in a build failure. The following error is observed in the log:

...SDImageWebPCoder.h:12:9: fatal error: module 'SDWebImage' not found
@import SDWebImage;
 ~~~~~~~^~~~~~~~~~
1 error generated.

The issue appears to be caused by incomplete FRAMEWORK_SEARCH_PATHS for SDWebImageWebPCoder. Presently, this build setting includes the platform-specific build folder (e.g. $(PROJECT_DIR)/Carthage/Build/iOS) but does not include the root build folder ($(PROJECT_DIR)/Carthage/Build), which is where XCFrameworks are located.

dreampiggy commented 3 years ago

That #57 merged. I'll release a patch version 0.8.4

However, is this only thing to do that support Carthage with XCFramework ?

I remember the issue talked here: https://github.com/Carthage/Carthage/issues/3019#issuecomment-786350898

Carthage need all the downstream component, to update their Xcode and create a new scheme "Like SDWebImage XCFramework" and add dependency to that.

daltonclaybrook commented 3 years ago

This is not the case in my experience. For example, SDWebImage and other dependencies build fine as XCFrameworks already.

SDWebImageWebPCoder build console

dreampiggy commented 3 years ago

Looks great. If Carthage's XCFramework adoptation does not cost too much of maintainess issues, I can update all SDWebImage related components together.