Mobile Device Improved: Command line utility that interacts with plugged in iOS devices. Uses Apple's MobileDevice framework
Yet another MobileDevice utility
- clone
- build project
- Upon build success,mobdevimwill be placed in /usr/local/bin
Make sure you have permissions to write to /usr/local/bin or else the Xcode build script will fail
Alternatively, a precompiled version is available here.
Name
  mobdevim -- (mobiledevice-improved) Interact with an iOS device (compiled Nov  7 2023, 15:50:43)
  The mobdevim utlity interacts with your plugged in iOS device over USB using Apple's
  private framework, MobileDevice.
  The options are as follows:
	-F	# List all available connections, or connect to a specific device
		mobdevim -F       # List all known devices
		mobdevim -F 00234 # Connect to first device that has a UDID containing 00234
		mobdevim -F\?     # Check for devices
		mobdevim -U       # Prefer connection over USB
		mobdevim -W       # Prefer connection over WIFI
	-f	# Get device info to a connected device (defaults to first USB connection)
	-g	# Get device logs/issues (TODO Broken in 16.5)
		mobdevim -g com.example.name # Get issues for com.example.name app
		mobdevim -g 3                # Get the 3rd most recent issue
		mobdevim -g __all            # Get all the logs
	-l	# List app information
		mobdevim -l                     # List all apps
		mobdevim -l com.example.test    # Get detailed info about app, com.example.test
		mobdevim -l com.example.test Entitlements # List "Entitlements" key from com.example.test
	-r	# Remove file
		mobdevim -r /fullpath/to/file # removes file (sandbox permitting)
	-y	# Yoink sandbox content
		mobdevim -y com.example.test   # Yoink contacts from app
	-s	# Send content to device (use content from yoink command)
		mobdevim -s com.example.test /tmp/com.example.test # Send contents in /tmp/com.example.test to app
	-i	# Install application (expects path to bundle)
	-I	# Install/mount a DDI (via Xcode subdir or repos like https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images
		mobdevim -I /path/to/ddi.signature /path/to/ddi.dmg # Install DDI
	-M	# unMount a DDI (via Xcode subdir or repos like https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images
		mobdevim -M # Unmount an alreaady mounted dev DDI
	-u	# Uninstall application, expects bundleIdentifier
		mobdevim -u com.example.test # Uninstall app
	-w	# Connect device to WiFi mode
		mobdevim -w              # Connect device to wifi for this computer
		mobdevim -w uuid_here    # Connect device to wifi for UUID
		mobdevim -w off          # Disable device wifi
		mobdevim -w uuid         # Display the computer's host uuid
	-S	# Arrange SpringBoard icons
		mobdevim -S                # Get current SpringBoard icon layout
		mobdevim -S /path/to/plist # Set SpringBoard icon layout from plist file
		mobdevim -S asshole        # Set SpringBoard icon layout to asshole mode
		mobdevim -S restore        # Restore SpringBoard icon layout (if backup was created)
	-L	# Simulate location (requires DDI)
		mobdevim -L 0 0                # Remove location simulation
		mobdevim -L 40.7128 -73.935242 # Simulate phone in New York
	-c	# Dump out the console information. Use ctrl-c to terminate
	-C	# Get developer certificates on device
	-p	# Display running processes on the device (requiers DDI)
	-k	# Kill a process (requiers DDI)
		TODO	-b	# Backup device
	-P	# Display developer provisioning profile info
		mobdevim -P # List all installed provisioning profiles
		mobdevim -P b68410a1-d825-4b7c-8e5d-0f76a9bde6b9 # Get detailed provisioning UUID info
	-o	# Open application (requires DDI)
		mobdevim -o com.reverse.domain # open app
		mobdevim -o com.reverse.domain -A "Some args here" -V AnEnv=EnValue -V A=Bmobdevim # open app with launch args and env vars
	-R	# Use color
	-Q	# Quiet mode, ideal for limiting output or checking if a value exists based upon return status
Environment variables:           	DSCOLOR - Use color (same as -R)
           	DSDEBUG - verbose debugging
           	DSPLIST - Display output in plist form (mobdevim -l com.test.example)
           	OS_ACTIVITY_DT_MODE - Combine w/ DSDEBUG to enable MobileDevice logging
