Reputation: 5213
I've created an iOS framework that contains a single SwiftUI View
. I've then added an Asset Catalog with a single image. Trying to access that image from the SwiftUI view doesn't do anything - I see a blank image.
Image("MyImage")
The Xcode Preview doesn't show anything, nor does the view show anything for a test target I wrote that uses the framework.
So the question is - how do I bundle images with a framework that uses SwiftUI? Is this not supported? The only way I could get this to work was to move the image to the test target's asset catalog instead. Unfortunately this means that I cannot preview the designs I'm working on when developing the framework.
Upvotes: 7
Views: 4791
Reputation: 258443
By default
Image("MyImage")
is Image("MyImage", bundle: Bundle.main)
ie. in bundle of application.
You have to explicitly specify bundle (of framework) in which Assets catalog is located, as
Image("MyImage", bundle: bundle)
where bundle
is instantiated in usual way by class or identifier.
Upvotes: 25
Reputation: 20187
Yes, you can load a custom image or custom SF Symbol within a Swift Package.
The SwiftUI invocation is:
Image(“my-symbol-name“, bundle: .module)
Upvotes: 0