Skip to content

Conversation

@xjki
Copy link

@xjki xjki commented Feb 4, 2026

Summary:

To make it easier to share files from Mac to simulator/emulator environments and physical devices, I have added [Local files] submenu section to iOS emulator, Android emulator and Android device menus with the [Upload...] action that allows you to select file or folder from Mac and upload it to simulator/emulator/device local storage. For Android emulator/device uploaded file/folder will land in the /Downloads folder. On iOS simulator uploaded file/folder will land in device's File Provider Local Storage container.

In addition added also [Open in Finder...] option that opens simulator's File Provider Local Storage container to make it even easier to copy/paste/share/remove files/folders from the iOS simulator local storage

Changelog:

Added [Local Files] submenu section with [Upload...] submenu to upload file/folder to simulator/emulator/device. Added extra [Open in Finder...] action to iOS simulator. Moved [Delete] action as last in the device menu.

Test Plan:

Runned tests. Tested with Mac OS Sequoia 15.7.3, iOS 18.6/iOS 26.2 simulators, Android 16 emulator, Android 16 device.

minisim-android-phone minisim-ios-sim minisim-android-emu

@okwasniewski
Copy link
Owner

okwasniewski commented Feb 5, 2026

Hey @xjki thank you for working on this!

Can you address few things? CI is not passing. + Here are few things from (ai based) code review:

  1. Code duplication

pickUploadItems() and uploadDirectory() are nearly identical in both UploadToDownloadsAction and UploadToSimulatorFilesAction. Consider extracting these into shared helpers.

  1. Silent failures

In uploadItem(), missing files are silently skipped. Same with the directory enumerator's errorHandler: { _, _ in true }. Maybe add some logging for debugging purposes?

  1. Hardcoded download path
    private let destinationPath = "/sdcard/Download"
    Some devices (Samsung, Xiaomi) use /sdcard/Downloads (with an "s"). Might be worth adding a fallback or checking if the folder exists.

I'm going to test it out and do a deeper check once these get resolved.

@xjki
Copy link
Author

xjki commented Feb 8, 2026

Thanks for review, I will fix these next week.
I maybe rushed a bit to push this.
Keep up the good work and thanks for sharing your work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants