From b96654276b8e423a21f95261449f578470e027d8 Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Wed, 28 Oct 2020 11:36:51 -0700 Subject: [PATCH] fix(ios): UIImage.imageWithData.async is not a function closes https://github.com/NativeScript/NativeScript/issues/8986 --- packages/core/image-source/index.ios.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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);