Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When connecting iPhone, only its "Documents" directory is mounted #1543

Open
marcinjahn opened this issue Dec 31, 2020 · 15 comments
Open

When connecting iPhone, only its "Documents" directory is mounted #1543

marcinjahn opened this issue Dec 31, 2020 · 15 comments

Comments

@marcinjahn
Copy link

Description

When I conntect an iPhone I see this in the sidebar of Files:

image

When I click on "Documents on iPhone" I see this (after waiting for Files to unfreeze, as mentioned in #1541):

image

The contents above is just the "Documents". I can't easily navigate to the DCIM directory to see pictures, access Downloads, etc. In order to access the "root" directory of iPhone I have to manually edit the path at the top:

image

I had to remove :3 from the end of the path. This way I finally get access to the "root" directory:

image

Why it's wrong

I believe that access to the "root" directory should be mounted by default, instead of the "Document" directory. It is not easy to figure out how the path should be modified to get to what you need.

Version

eOS 5.1.7

@marcinjahn
Copy link
Author

Btw, you could notice the "iPhone" thing that appeared in the sidebar. I do not know why it is there sometimes, and sometimes it is not. Anyway, when I click on it I see this:

image

Not very useful view.

@hanaral
Copy link

hanaral commented Dec 31, 2020

The mounting of the Documents and Photos drives is normal behaviour, iOS (from iOS 11 onwards afaik) only exposes those 2 folders to file managers. iOS does not under any circumstances expose it's root filesystem to anyone other than itself (not intentionally anyway), what you are seeing is the limit of what libimobiledevice can read.

It would be backwards to mount the /dev/disk0s1s2s (which is the folder you are seeing) directly, since the only remotely useful 2 things you can do in that directory is managing Documents, or importing photos.

@marcinjahn
Copy link
Author

marcinjahn commented Dec 31, 2020

I think it brings much more value to mount the “/dev/disk...” (which I was calling “root”) by default instead of the Documents folder. Then you get access to any directory that you need. And this is actually more than just Photos and Documents there. You can:

  • get Photos (DCIM)
  • get Documents
  • get Podcasts
  • get Recordings

With the default behavior, a typical user gets an impression that he can access ONLY Documents. This is clearly an issue.

@hanaral
Copy link

hanaral commented Dec 31, 2020

The camera you see at the side is supposed to be the DCIM folder, I'm not sure why yours is empty. What iOS version is your iPhone?

@marcinjahn
Copy link
Author

The camera you see at the side is supposed to be the DCIM folder, I'm not sure why yours is empty. What iOS version is your iPhone?

It's 14.2

@jeremypw
Copy link
Collaborator

This looks similar to #1119 which was closed by c1a8ace. This was committed after the latest stable release so will not be generally available until elementary 6.0 is released.

@marcinjahn
Copy link
Author

This looks similar to #1119 which was closed by c1a8ace. This was committed after the latest stable release so will not be generally available until elementary 6.0 is released.

Right, this is the same thing.

@jeremypw What is then the current behavior in eOS6 when iPhone/iPod is connected? What will be in the sidebar of Files?

@jeremypw
Copy link
Collaborator

jeremypw commented Jan 1, 2021

@Loreno10 I do not actually have an iPhone to fully test this but my understanding is that the afore-mentioned commit at least allows the missing directory to be mounted and used although it may not appear in the best place in the Sidebar. As Sidebar code is potentially going to be re-written cosmetic issues may not get fixed before then. Ideally an iPhone using dev should work on this.

@hanaral
Copy link

hanaral commented Jan 2, 2021

@jeremypw I should probably mention that I'm not able to mount the "Documents" folder with iOS 14 or iOS 12 on Odin. I presume this is because Files is mounting /private/var/mobile/Media which seems to be useless for anything other than accessing DCIM and voice recording.

@jeremypw
Copy link
Collaborator

jeremypw commented Jan 2, 2021

@hanaral Files relies on gvfs and the underlying system to be informed of Drives/Volumes/Mounts that appear when a device is connected. As I am not an iOS user I am unable to test where the problem lies so I'll have to wait for another dev to address this.

@hanaral
Copy link

hanaral commented Jun 15, 2021

@jeremypw I just tested this on Fedora: reading and writing to file provider storage with nautilus on Fedora works almost flawlessly, while trying to do the same (with nautilus) on elementary results in the app hanging and at worst, blocking unmounting.
While it would be very cool for Files to be able to list file provider storage from iDevices, the underlying issue of not at all being to write to iOS needs to be solved.
@Loreno10 Are you able to test whether Nautilus to iPhone file transfers work?

@marcinjahn
Copy link
Author

@hanaral What kind of data would you want to write TO iOS device? Usually, I think the other way is more desired - being able to read data from the iOS device to PC.

However, I tried to copy something from my PC into Downloads folder on iPhone - the file copied there and I see it in both eOS Files and Nautilus, but on iPhone's Files app it's not visible there.

Btw, Nautilus behaves pretty much the same as eOS Files when iPhone is connected to the PC:

  • when opening the program (Nautilus or Files), it may take around 10 seconds for it to show up
  • when navigating to iPhone, both apps freeze for some time, becoming unusable.

I'm on eOS 5.1.7 if that matters. If you need me to check anything else, let me know.

@hanaral
Copy link

hanaral commented Jun 19, 2021

Being able to read from the iPhone isn't too much of an issue for me, apart from the lock ups. Due to iOS presenting the DCIM folder and images via the same standard that cameras use (I believe it just presents itself as a storage device, which is why you can read downloaded iTunes songs too), it's functions are mostly fine.
However, the ability to go in to and write to file provider storage (FPS) is broken. I presume this is due to a lower level permission or communication issue, because manually using ifuse to mount the iPhone FPS as root amounts to the same thing on elementary OS.
However, devices on iOS 12 or before have no such issues, and on latest Fedora everything works as good as you'd expect for an iOS device :^)
@Loreno10 would you be able to test whether copy/pasting files onto and off your iOS device works on the lastest Fedora Workstation live USB? (no need to install it)

@marcinjahn
Copy link
Author

marcinjahn commented Jun 19, 2021

@hanaral Actually I am able to write data onto iPhone, and then (I disconnected it and connected again), I am able to get the file back. (eOS 5.1.7 - Files)

I wrote the file into "Downloads" folder on iPhone.

@hanaral
Copy link

hanaral commented Jun 23, 2021

@Loreno10 I am aware, and this is useful - if you’re jailbroken, because otherwise there is ironically no way to access that virtual folder on the iPhone 😂
The problem of accessing FPS is still a no-go, I am only able to write empty files and empty folders. This is a pretty big issue since on windows and Linux the only way to transfer music on to an iPhone without a network is by using FPS

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

No branches or pull requests

3 participants