summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2022-12-10 02:22:52 +0100
committerGravatar Nikias Bassen2022-12-10 02:22:52 +0100
commitf7819059510a7b11a63ce5a93f2c335268b82787 (patch)
tree71a73c40276f508ee10a5750787138f010f24acb
parenta6775bc588db13838bebec42b139748d337e7189 (diff)
downloadlibimobiledevice-f7819059510a7b11a63ce5a93f2c335268b82787.tar.gz
libimobiledevice-f7819059510a7b11a63ce5a93f2c335268b82787.tar.bz2
tools/ideviceimagemounter: Notify user of missing Developer Mode on iOS 16+
-rw-r--r--tools/ideviceimagemounter.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/tools/ideviceimagemounter.c b/tools/ideviceimagemounter.c
index b854d5d..4ea38a9 100644
--- a/tools/ideviceimagemounter.c
+++ b/tools/ideviceimagemounter.c
@@ -224,6 +224,20 @@ int main(int argc, char **argv)
}
}
+ if (product_version_major == 16) {
+ uint8_t dev_mode_status = 0;
+ plist_t val = NULL;
+ ldret = lockdownd_get_value(lckd, "com.apple.security.mac.amfi", "DeveloperModeStatus", &val);
+ if (ldret == LOCKDOWN_E_SUCCESS) {
+ plist_get_bool_val(val, &dev_mode_status);
+ plist_free(val);
+ }
+ if (!dev_mode_status) {
+ printf("ERROR: You have to enable Developer Mode on the given device in order to allowing mounting a developer disk image.\n");
+ goto leave;
+ }
+ }
+
lockdownd_start_service(lckd, "com.apple.mobile.mobile_image_mounter", &service);
if (!service || service->port == 0) {