idb
idb copied to clipboard
iOS 17 support
Description
Since iOS 17 Apple changed how the developer functions, such as taking a screenshot, launching apps and location simulation are accessed. IDB currently doesn't seem to support these changes.
Reproduction
Try to use any of the functions mentioned above on an iOS 17 device.
Solution
To my knowledge two steps are required to support iOS 17.
- IDB must support mounting personalized developer disk images on iOS devices.
- IDB must use CoreDevice instead of MobileDevice to access developer functionality on iOS 17.
Additional Information
Are there any plans to support iOS 17 ?
+1
we're stuck because of the same issue.
+1
+1
+1
+1
+1
Is this about following error? I am seeing this since I upgraded my iPhone to iOS 17:
The best match /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/16.1/DeveloperDiskImage.dmg: 16.1 is not suitable for 17.1
(quit with code 1)
Error occued while executing command "idb launch --udid 00008030-0010552A1E7A802E my.xyz.film-o-matic"
Is this about following error? I am seeing this since I upgraded my iPhone to iOS 17:
The best match /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/16.1/DeveloperDiskImage.dmg: 16.1 is not suitable for 17.1 (quit with code 1) Error occued while executing command "idb launch --udid 00008030-0010552A1E7A802E my.xyz.film-o-matic"
Yes, it is
+1
is there any solution? still faceing the same problem
There has been a fix for this issue, however it doesn't seem to have found it's way into a release yet: https://github.com/facebook/idb/commit/0d4446648ad4e1b8f4e462304fbb5a20c1608e8d
We managed to compile the project, but we are not sure how to tell the python idb client to use the freshly compiled idb-companion binary. Any ideas out there? Couldn't find any documentation on it.
It seems that idb launch
and idb install
don't work on iOS 17 devices. Luckily, xcrun devicectl
does work on iOS 17 and it has launch
and install
commands.
xcrun devicectl device process launch --device <udid> com.apple.camera
Hi @ellishg thank you it really works! By the way, do you know how to terminate apps using devicectl?
@fatahillahardhi there is a way, but you need to first figure out the process ID of the running process. Here is an implementation that does that: https://github.com/appium/appium-xcuitest-driver/pull/1997/files#diff-bb0c8b8277b395d5bb9d3326ef4bacc41134fe47236c6e883d6ef720ef3d7195R231
Does currently IDB supports ios 17+ ios