 -      size = maybeRotateAssetSize(options.outWidth, options.outHeight, cursor.getInt(orientationIndex));
 -    } else {
 -      size = maybeRotateAssetSize(cursor.getInt(widthIndex), cursor.getInt(heightIndex), cursor.getInt(orientationIndex));
-+    try {
-+      ExifInterface exif = new ExifInterface(uri);
-+      int exifOrientation = exif.getAttributeInt(
++    if (exifInterface != null) {
++      int exifOrientation = exifInterface.getAttributeInt(
 +        ExifInterface.TAG_ORIENTATION,
 +        ExifInterface.ORIENTATION_NORMAL
 +      );

+      ) {
+        orientation = 90;
+      }
+    } catch (IOException e) {
     }
-    return size;
+

   }
 
   static int[] maybeRotateAssetSize(int width, int height, int orientation) {
@@ -265,9 +318,7 @@ final class MediaLibraryUtils {
     return TextUtils.join(",", result);
   }
 
-  static void getExifFullInfo(Cursor cursor, Bundle response) throws IOException {
-    File input = new File(cursor.getString(cursor.getColumnIndex(Media.DATA)));
-    ExifInterface exifInterface = new ExifInterface(input.getPath());
+  static void getExifFullInfo(ExifInterface exifInterface, Bundle response) {
     Bundle exifMap = new Bundle();
     for (String[] tagInfo : exifTags) {
       String name = tagInfo[1];
diff --git a/node_modules/expo-media-library/ios/EXMediaLibrary.podspec b/node_modules/expo-media-library/ios/EXMediaLibrary.podspec
index 7cc9e70..a5b5336 100644
--- a/node_modules/expo-media-library/ios/EXMediaLibrary.podspec
