feat: add physical devices support#122
feat: add physical devices support#122okwasniewski merged 28 commits intookwasniewski:mainfrom itsramiel:feat/add-physical-devices-support
Conversation
|
@okwasniewski I believe it is ready |
|
Hey @itsramiel, Thanks for this PR! I'm going to review and test it over the weekend 🙌 |
okwasniewski
left a comment
There was a problem hiding this comment.
Overall looks good!
I did a first code pass, going to test it more over the weekend
|
Also I found this: |
Yeah, this is great idea. I can write tests for current implementation in separate PR and then you can add it for real devices |
|
I also learned about devicectl today, really handy and definitely bunch of cool stuff to implement in upcoming PRs! I also noticed that you can pass -j flag and specify json file to output the results. On the other hand not having version near the device is not such a big issue because you can't change the version anyways. For simulators is much more useful because you can change their versions. |
|
@itsramiel Just checked and it looks like Xcode 15 introduced Im going to write tests for parsers today. |
I just pushed the devicectl changes 😅 EDIT: do I revert it? |
|
@itsramiel Ugh, sorry.. okay i guess let's make this feature available only for Xcode >= 15. We will need to make sure that it doesn't break on older Xcode versions (if |
|
I've extracted DeviceParser to another class and wrote some tests here: #125 |
okwasniewski
left a comment
There was a problem hiding this comment.
We are getting there! Some additional cleanups are needed but overall it looks good
|
Thanks for working on this! |




Summary:
Display physical iOS and Android devices
closes #121
The idea here to be able to view connected devices.
For iOS, devices are visible even if not connected via cable. The system also marks the device as offline if the device is not connected to the internet and not connected by cable, otherwise it is marked as online. The booted property for iOS physical devices is determined according whether the device is online or not.
For android, connected devices are figured out using
adb devices -lApplescript commands are adjusted to account for the changes.
Link to raycast extension pr
Motivation
For iOS, this allows you to copy your uuid which can be useful at times or you create a custom command.
For android, you can paste to clipboard(main reason I worked on this pr), launch logcat, and also custom commands.
Other changes
I hide sections that do not include any devices which wasnt the case previously. Assuming you are ios dev only that work only with simulators, you would see 3 other empty sections, which I personally think is not nice but that is just my opinion
Changelog:
feat: display physical ios and android devices
feat: hide sections that include no devices
Test Plan:
Android
Screen.Recording.2024-08-28.at.7.mp4
iOS(didnt record video cause would like to keep the uuid private 🤓):
