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,
mobdevim
will 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