libretro / libretro/RetroArch

Add iOS external storage support (usb, sd, mircrosd)

Open
#14,915 4 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

Description

Import Scan Directory should have this directory as a default directory on iOS 14+. Looks like this only works on jailbroken devices.. testing this path on iOS 16 non-jailbroken does not result in success.

/private/var/mobile/Library/LiveFiles/com.apple.filesystems.userfsd

Expected behavior

When I plug in a usb camera kit type of adapter or microsd reader via lightning or usbc (iPad's) then RetroArch should allow for scanning of those drive.

Ultimately I think this part of the app needs rewriting to behave more like how iOS nPlayer is able to read and load files dynamically off of usb without needing to copy it locally first (or if it does then that is hidden from the user).

Actual behavior

Import Content does not list any path to the sd card or usb drives.

Steps to reproduce the bug
  1. Install RetroArch
  2. Import Content -> Manual Scan -> Content Directory -> Missing path to sdcard

Note: Applies to Scan Directory as well.

Version/Commit

You can find this information under Information/System Information

  • RetroArch: 1.10.3 (I think)
Environment information
  • OS: iOS 14.8

Also I have confirmed that this does indeed work - RetroArch can fully access sd cards just fine.

{
      "path": "/private/var/mobile/Library/LiveFiles/com.apple.filesystems.userfsd/NO NAME/Emulation/Classics/GBC/Censored.zip#Censored (USA).gbc
      "label": "Censored (USA)",
      "core_path": "DETECT",
      "core_name": "DETECT",
      "crc32": "A91EC059|crc",
      "db_name": "Nintendo - Game Boy Color.lpl"
    },

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing iOS handling for Import Content → Manual Scan → Content Directory and the reported LiveFiles path on a non-jailbroken device. Reproduce with a USB or SD reader on iOS 14+; done means the external drive appears for Scan Directory and content can be scanned or loaded without requiring a local copy.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, ios
Domain
mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.