diff --git a/package/ios/ImageManager.m b/package/ios/ImageManager.m index bbedc3b..0958cc2 100644 --- a/package/ios/ImageManager.m +++ b/package/ios/ImageManager.m @@ -38,7 +38,11 @@ + (UIImage *)getImageFromDictionarySource:(NSDictionary *)imageObj if([urlString hasPrefix: @"http"] || [urlString hasPrefix: @"https"]) { NSURL *url = [NSURL URLWithString: urlString]; NSData *data = [NSData dataWithContentsOfURL:url]; - imageData = [[UIImage alloc] initWithData:data]; + if (data && data.length > 0) { + imageData = [[UIImage alloc] initWithData:data]; + } else { + imageData = nil; + } } else { imageData = [RCTConvert UIImage:imageObj]; } diff --git a/package/ios/ThePrinter.m b/package/ios/ThePrinter.m index 4d90909..b711f89 100644 --- a/package/ios/ThePrinter.m +++ b/package/ios/ThePrinter.m @@ -387,6 +387,11 @@ -(int) addImage: (NSDictionary *)source return EPOS2_ERR_MEMORY; } UIImage *data = [ImageManager getImageFromDictionarySource:source]; + // Check if image loading failed (e.g., due to network issues) + if (data == nil) { + return EPOS2_ERR_FAILURE; + } + CGSize size = [ImageManager getImageCGSize:data width:width]; UIImage *scaledImage = [ImageManager scaleImage:data size:size];