diff --git a/React/Fabric/RCTImageResponseObserverProxy.mm b/React/Fabric/RCTImageResponseObserverProxy.mm index ce4e2253cc2..2fb0f031e0c 100644 --- a/React/Fabric/RCTImageResponseObserverProxy.mm +++ b/React/Fabric/RCTImageResponseObserverProxy.mm @@ -9,6 +9,7 @@ #import #import +#import namespace facebook { namespace react { @@ -20,7 +21,7 @@ RCTImageResponseObserverProxy::RCTImageResponseObserverProxy(void *delegate) void RCTImageResponseObserverProxy::didReceiveImage(ImageResponse const &imageResponse) const { - UIImage *image = (__bridge UIImage *)imageResponse.getImage().get(); + UIImage *image = (UIImage *)unwrapManagedObject(imageResponse.getImage()); auto this_ = this; dispatch_async(dispatch_get_main_queue(), ^{ [delegate_ didReceiveImage:image fromObserver:this_]; diff --git a/ReactCommon/fabric/imagemanager/platform/ios/RCTImageManager.mm b/ReactCommon/fabric/imagemanager/platform/ios/RCTImageManager.mm index c319cd30d56..b294316cdf7 100644 --- a/ReactCommon/fabric/imagemanager/platform/ios/RCTImageManager.mm +++ b/ReactCommon/fabric/imagemanager/platform/ios/RCTImageManager.mm @@ -8,6 +8,7 @@ #import "RCTImageManager.h" #import +#import #import #import @@ -65,8 +66,7 @@ using namespace facebook::react; } if (image && !error) { - auto imageResponse = ImageResponse(std::shared_ptr((__bridge_retained void *)image, CFRelease)); - observerCoordinator->nativeImageResponseComplete(std::move(imageResponse)); + observerCoordinator->nativeImageResponseComplete(ImageResponse(wrapManagedObject(image))); } else { observerCoordinator->nativeImageResponseFailed(); }