How can I mount an iPhone as a drive on OS X
Solution 1
You can't by default, since iOS in combination with OS X won't allow you to. iOS will only present the iPhone as a camera, so Image Capture can pull the pictures stored under /var/mobile/Media/DCIM
, using the PTP (Picture Transfer Protocol).
Two options:
You can jailbreak your iPhone and use the USB Drive app from Cydia to turn the device into an actual USB drive. The "Drive only" mode would allow you to do what you want, if I read your question correctly.
-
You could install PhoneDisk for OS X, which will monitor any plugged in devices and mount them as drives
Note though that PhoneDisk has been discontinued as of July 2012 and its features have been merged in to iExplorer.
Solution 2
There the handy plug-n-play tool iExplorer that slhck mentioned.. but I am not a fan of paying $35-50+ for a one time use just to mount a filesystem; especially when I already paid a ton of money to buy my Mac. Thanks iExplorer for all your work.. but there's a much better solution here.
The free answer because god bless the open source (which Apple has made billions on top of already):
- install homebrew and open a terminal on your Mac to do the rest
After some quick research, iExplore is built on top of osxfuse
and uses common protocols to exchange file information from the device. If you want to see your device, I'd recommend installing lsusb
to discover the 40-digit uuid (aka serial).
To get lsusb
working on OSX:
brew tap jlhonora/lsusb
brew install lsusb
After you type lsusb
you will see your device listed as:
Bus $bus_num Device $dev_num: ID $vendor:$product Apple Inc. iPhone Serial: $serial
Steps to mount the file system without jailbreaking:
brew tap osxfuse/osxfuse
brew install osxfuse
brew tap Homebrew/homebrew-fuse
brew install ifuse
Now that ifuse
is installed you can mount the device like this:
cd ~
mkdir ~/iPhone
ifuse ~/iPhone/ -u $serial
This will mount the viewable apple filesystem.. but it probably won't give you everything you see in iExplorer ..like all the apps and their app data.. well no fear, ifuse
can do that too. You need one more application to get all the APPID
(bundle names). That would be ideviceinstaller
.
brew install ideviceinstaller
ideviceinstaller -l
The output will be:
Total: $number_of apps:
$bundle_name - $bundle_version
..
Now if you already mounted the device, I should mention that you first run sudo umount ~/iPhone
or click the eject link in Finder next to ~/OSXFUSE <whatever>
to unmount that before continuing.
To mount a particular App Container, run:
ifuse ~/iPhone/ -u $serial --container $bundle_name
You can then either navigate to the folder in Finder or use that good 'ole BSD tool cp
while you're still in your terminal.
Solution 3
Windows does not mount an iPhone as a USB Mass Storage Device. Just because a device shows up under "My Computer" doesn't means it's a Mass Storage Device. What Windows is doing is detecting the iPhone as a PTP device, and presenting it there to the user. The equivalent in Mac OS X is to open a program that imports photos, such as Photos or Preview, and you will see the iPhone listed there. Mac OS X does not mount PTP devices on the desktop, like it does with USB Mass Storage.
So all the replies on here were how get into the root files of the iPhone, which is not really the equivalent of what the user is seeing on Windows.
Related videos on Youtube
Brian
I enjoy playing the banjo and hunting caribou in my back yard. Every year I take a trip to the moon where I collect moon rocks to make into jewelry. When I am not doing this, sometimes I program.
Updated on September 18, 2022Comments
-
Brian over 1 year
When I plug my iPhone in on Windows, it automatically detected as a USB mass-storage device and mounts as a disk. How can I set this up in Finder under OS X?
-
user142485 over 11 yearsYou can use it as a mass-storage device or it just shows as one?
-
-
Vitaly Zdanevich almost 7 yearsI can not install
lsusb
- it required password for repository - but you can find uuid fromioreg -p IOUSB -l -w 0
- fieldUSB Serial Number
-
Vitaly Zdanevich almost 7 years$
ifuse ~/iPad -u 5932dfa1d13b1c5d55327d4278dec08cd3681540
Failed to connect to lockdownd service on the device. Try again. If it still fails try rebooting your device.
-
Chuck Batson almost 7 yearsSame issue as @VitalyZdanevich. This solution no longer works.
-
Pacerier over 6 yearsAny known issues with iExplorer or is it safe?
-
mpowered over 6 yearsPer gist.github.com/samrocketman/… You can do the following:
brew uninstall --ignore-dependencies libtool && brew install libtool
,brew uninstall --ignore-dependencies libimobiledevice && brew install --HEAD libimobiledevice
, andbrew uninstall ifuse && brew install --HEAD ifuse
to get this working. -
adius over 6 yearsI had to be in a root shell for it work!
-
adius over 6 years@Vitaly Zdanevich The problem seems to be, that macOS expects the iOS to verify that the connection is safe (normally via a popup on the iOS device), but older devices don't support this and therefore the connection seems to be blocked
-
Greg Sadetsky about 4 yearsJust to confirm that it (still) perfectly works under macOS 10.15 and iOS 13.3. Thank you very much!
-
pestophagous almost 4 yearsyou can do this from a llinux host using: gist.github.com/samrocketman/70dff6ebb18004fc37dc5e33c259a0fc
-
JanX2 over 3 yearsInstead of
brew tap homebrew/fuse
it’s nowbrew cask install osxfuse
. -
Mikeumus about 3 years@slhck, in 2021, BigSur, I don't see anything at
/var/mobile/Media/DCIM
when I attached my unlocked iPhone to Image-Capture.app 🙁