Skip to content

Instantly share code, notes, and snippets.

@cbatson
Last active March 27, 2024 13:20
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save cbatson/01a20a44c5c1a70ed3218c32d643e65d to your computer and use it in GitHub Desktop.
Save cbatson/01a20a44c5c1a70ed3218c32d643e65d to your computer and use it in GitHub Desktop.
How To Install ifuse on macOS (Updated Nov 2023)

macOS Sonoma, Apple silicon, Nov 2023

  1. brew uninstall osxfuse
  2. brew install --cask macfuse
  3. brew install gromgit/fuse/ifuse-mac # version 1.1.4 (see https://github.com/gromgit/homebrew-fuse)
  4. restart needed for ifuse to be on path
  5. If needed, follow instructions at https://github.com/macfuse/macfuse/wiki/Getting-Started to enable kernel extension

If this error is encountered:

$ ifuse
dyld[1352]: Library not loaded: /opt/homebrew/opt/libplist/lib/libplist-2.0.3.dylib
  Referenced from: <04812DE0-30A0-367A-A4D5-0FCD978A3B1E> /opt/homebrew/Cellar/ifuse-mac/1.1.4/bin/ifuse

then try ( cd "$(brew --prefix)/opt/libplist/lib/" && ln -s libplist-2.0.4.dylib libplist-2.0.3.dylib ). See also this. (Thank you @asbjornu for the portable brew path.)

If, after mounting, you receive Operation not permitted error, then in system settings, enable Terminal to have access to "Network Volumes." See also this.

Nov 2022

$ brew uninstall libtool && brew install libtool
$ mkdir -p ~/usr/src && cd ~/usr/src
$ for x in libplist libusbmuxd libimobiledevice ifuse libimobiledevice-glue; do git clone https://github.com/libimobiledevice/${x}.git; done
$ export PKG_CONFIG_PATH="${HOME}/usr/lib/pkgconfig:/usr/local/opt/openssl/lib/pkgconfig:${PKG_CONFIG_PATH}"
$ export PATH="${HOME}/usr/bin:${PATH}"
$ export LD_LIBRARY_PATH="${HOME}/usr/lib:${LD_LIBRARY_PATH}"
$ cd ~/usr/src/libplist
$ ./autogen.sh --prefix="$HOME/usr"
$ make && make install
$ cd ~/usr/src/libimobiledevice-glue
$ ./autogen.sh --prefix="$HOME/usr"
$ make && make install
$ cd ~/usr/src/libusbmuxd
$ ./autogen.sh --prefix="$HOME/usr"
$ make && make install
$ cd ~/usr/src/libimobiledevice
$ ./autogen.sh --prefix="$HOME/usr"
$ make && make install
$ cd ~/usr/src/ifuse
$ ./autogen.sh --prefix="$HOME/usr"
$ make && make install

Also:

@asbjornu
Copy link

asbjornu commented Dec 6, 2023

A more portable version of the command (using brew --prefix to find the Homebrew installation path):

(cd "$(brew --prefix)/opt/libplist/lib/" && ln -s libplist-2.0.4.dylib libplist-2.0.3.dylib)

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