twostraws / ControlRoom

A macOS app to control the Xcode Simulator.
MIT License
5.77k stars 304 forks source link

More expressive API for interfacing with simctl #53

Closed pluddy closed 4 years ago

pluddy commented 4 years ago

This PR adds a layer to encapsulate the simctl CLI in a friendly API allowing us to easily add new capabilities to ControlRoom.

It extends SimCtl, adding a new SubCommand enum that contains all of the current subcommands with typed parameters passed as associated values wherever possible.

I would love input on direction and am open to any and all changes to make this as easy to use and understand as possible! I have included a few new unit tests to cover some basic commands, but definitely an opportunity for more!

There is also a very small change in the main split view that ensures the content view has layout priority that is higher than the sidebar, this ensures the sidebar maintains its size as the window is resized

davedelong commented 4 years ago

@pluddy looks like there's a conflict in the pbxproj (joy). Can you resolve that, and then I'll merge this?

pluddy commented 4 years ago

@pluddy looks like there's a conflict in the pbxproj (joy). Can you resolve that, and then I'll merge this?

Can do!

pluddy commented 4 years ago

@davedelong All good I think! 🤞