How can I mount an iPhone as a drive on OS X

12

7

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?

Brian

Posted 2012-08-23T14:50:59.043

Reputation: 262

You can use it as a mass-storage device or it just shows as one? – user142485 – 2012-08-23T15:00:09.700

Answers

16

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.

slhck

Posted 2012-08-23T14:50:59.043

Reputation: 182 472

Any known issues with iExplorer or is it safe? – Pacerier – 2017-08-18T12:14:36.593

15

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.

hhony

Posted 2012-08-23T14:50:59.043

Reputation: 251

I can not install lsusb - it required password for repository - but you can find uuid from ioreg -p IOUSB -l -w 0 - field USB Serial Number – Vitaly Zdanevich – 2017-05-30T07:10:38.660

1$ ifuse ~/iPad -u 5932dfa1d13b1c5d55327d4278dec08cd3681540 Failed to connect to lockdownd service on the device. Try again. If it still fails try rebooting your device. – Vitaly Zdanevich – 2017-05-30T07:15:35.500

Same issue as @VitalyZdanevich. This solution no longer works. – Chuck Batson – 2017-06-05T04:42:26.957

1

Per https://gist.github.com/samrocketman/70dff6ebb18004fc37dc5e33c259a0fc#gistcomment-2140745 You can do the following:

brew uninstall --ignore-dependencies libtool && brew install libtool, brew uninstall --ignore-dependencies libimobiledevice && brew install --HEAD libimobiledevice, and brew uninstall ifuse && brew install --HEAD ifuse to get this working.

– mpowered – 2017-09-04T18:46:57.337

I had to be in a root shell for it work! – adius – 2017-11-15T21:13:05.820

@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 – adius – 2017-11-15T21:18:57.927

0

https://gist.github.com/samrocketman/70dff6ebb18004fc37dc5e33c259a0fc#gistcomment-2140745

As @mpowered noted in the comments this will work with the last command edited since that will generate the following error Error: No such keg: /usr/local/Cellar/ifuse.

brew uninstall libtool && brew install libtool
brew uninstall libimobiledevice && brew install --HEAD libimobiledevice
brew install --HEAD ifuse

airpower44

Posted 2012-08-23T14:50:59.043

Reputation: 109

0

PhoneDisk was quite cool, but since Sierra the /Volume folder is no longer writable for everyon, what makes phonedisk fail "Mount failed Unable to Create directory for mount point" Esasiest way to solve this is to go for it as root in the terminal... sudo /Applications/PhoneDisk.app/Contents/MacOS/PhoneDisk Procedure is foolproof: some errors appear, a popup Sytem Extension Blocked will come up, you press the open Security Preferences Button, and allow Benjamin Fleischers Software.... Close all and run again sudo /Applications/PhoneDisk.app/Contents/MacOS/PhoneDisk The beauty about phonedisk is, that it mounts parts of the iphones/iPads Filesystem on the Mac. And belod th DCIM (Digital Images) Folder, you find all the photos and films with their time created info. If copied wit cp -p , this info will not be lost.

George Coolman

Posted 2012-08-23T14:50:59.043

Reputation: 1