      final int idIndex = cursor.getColumnIndex(Media._ID);
      final int filenameIndex = cursor.getColumnIndex(Media.DISPLAY_NAME);
      final int mediaTypeIndex = cursor.getColumnIndex(Files.FileColumns.MEDIA_TYPE);
-@@ -144,7 +149,7 @@ final class MediaLibraryUtils {
+@@ -142,9 +147,16 @@ final class MediaLibraryUtils {
+       return;
+     }
      for (int i = 0; i < limit && !cursor.isAfterLast(); i++) {
-       String localUri = "file://" + cursor.getString(localUriIndex);
+-      String localUri = "file://" + cursor.getString(localUriIndex);
++      String path = cursor.getString(localUriIndex);
++      String localUri = "file://" + path;
        int mediaType = cursor.getInt(mediaTypeIndex);
 -      int[] size = getSizeFromCursor(cursor, mediaType, localUriIndex);
-+      int[] size = getSizeFromCursor(contentResolver, cursor, mediaType, localUriIndex);
++
++      ExifInterface exifInterface = null;
++      if (mediaType == Files.FileColumns.MEDIA_TYPE_IMAGE) {
++        exifInterface = new ExifInterface(path);
++      }
++
++      int[] size = getSizeFromCursor(contentResolver, exifInterface, cursor, mediaType, localUriIndex);
  
        Bundle asset = new Bundle();
        asset.putString("id", cursor.getString(idIndex));
-@@ -213,25 +218,68 @@ final class MediaLibraryUtils {
+@@ -159,8 +171,8 @@ final class MediaLibraryUtils {
+       asset.putString("albumId", cursor.getString(albumIdIndex));
+ 
+       if (fullInfo) {
+-        if (mediaType == Files.FileColumns.MEDIA_TYPE_IMAGE) {
+-          getExifFullInfo(cursor, asset);
++        if (exifInterface != null) {
++          getExifFullInfo(exifInterface, asset);
+         }
+ 
+         asset.putString("localUri", localUri);
+@@ -213,25 +225,66 @@ final class MediaLibraryUtils {
      return MEDIA_TYPES.get(mediaType);
    }
  
 -  static int[] getSizeFromCursor(Cursor cursor, int mediaType, int localUriIndex){
-+  static int[] getSizeFromCursor(ContentResolver contentResolver, Cursor cursor, int mediaType, int localUriIndex) {
++  static int[] getSizeFromCursor(ContentResolver contentResolver, ExifInterface exifInterface, Cursor cursor, int mediaType, int localUriIndex) {
 +    final String uri = cursor.getString(localUriIndex);
 +
 +    if (mediaType == Files.FileColumns.MEDIA_TYPE_VIDEO) {

   }
 
   static int[] maybeRotateAssetSize(int width, int height, int orientation) {
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

+      ) {
+        orientation = 90;
+      }
     }
-    return size;
+
