diff --git a/packages/core/image-source/index.ios.ts b/packages/core/image-source/index.ios.ts index 647bdba59..e829a1408 100644 --- a/packages/core/image-source/index.ios.ts +++ b/packages/core/image-source/index.ios.ts @@ -154,8 +154,13 @@ export class ImageSource implements ImageSourceDefinition { return new Promise((resolve, reject) => { try { const data = NSData.alloc().initWithBase64EncodedStringOptions(source, NSDataBase64DecodingOptions.IgnoreUnknownCharacters); - UIImage.imageWithData['async'](UIImage, [data]).then((uiImage) => { - resolve(new ImageSource(uiImage)); + const main_queue = dispatch_get_current_queue(); + const background_queue = dispatch_get_global_queue(qos_class_t.QOS_CLASS_DEFAULT, 0); + dispatch_async(background_queue, () => { + const uiImage = UIImage.imageWithData(data); + dispatch_async(main_queue, () => { + resolve(new ImageSource(uiImage)); + }); }); } catch (ex) { reject(ex);