Appboy / appboy-ios-sdk

Public repo for the Braze iOS SDK
https://www.braze.com
Other
165 stars 140 forks source link

[Bug]: SDWebImage dependency. #360

Closed lidorf-gurushots closed 1 year ago

lidorf-gurushots commented 1 year ago

Platform

iOS

Platform Version

iOS 14+

Braze SDK Version

4.5.0

Xcode Version

14.2

Integration Method

Cocoapods

Computer Processor

Apple (M1)

Repro Rate

100

Steps To Reproduce

Example:

  1. Add pod 'Appboy-iOS-SDK' to the Podspec file.
  2. Add SDWebImageSwiftUI via SPM
  3. Run the app.

Expected Behavior

SDWebImage should not be imported as a dependency.

Actual Incorrect Behavior

I am working on a project that uses Cocoapods and SPM. The project is using SwiftUI framework and UIKit. SDWebImageSwiftUI is importing SDWebImage as a dependency resulting in runtime warnings for SD. classes. Warnings example: "Class SDXX is implemented in both containers path.One of the two will be used. Which one is undefined."

SDWebImage is imported without SwiftUI functionality.

Verbose Logs

No response

Additional Information

image

hokstuff commented 1 year ago

Hi @lidorf-gurushots,

When importing Appboy-iOS-SDK with UI via Cocoapods, importing SDWebImage is a required dependency. To import the SDK via Cocoapods without UI and without SDWebImage, you can import the Core version of the SDK (though you won't be able to use the Braze UI).

Otherwise, for more integration options, we recommend you migrate to the Swift SDK (migration guide here). This separate repo supports importing Braze code without the SDWebImage dependency, so it can be imported separately (e.g. via SDWebImageSwiftUI).

Thanks!