There are currently some problems with profiles:manage:devices:add (and I guess remove too) as Apple probably changed the web interface again.
First of all the http method changed from post to get in here according to the web inspector: https://github.com/nomad/cupertino/blob/master/lib/cupertino/provisioning_portal/agent.rb#L243
The bigger problem however might be that Apple changed the checkbox values from the UDID to a custom identifier, so that the following check does not work anymore: https://github.com/nomad/cupertino/blob/master/lib/cupertino/provisioning_portal/agent.rb#L236
I would be happy to send a PR, I couldn't however find out where the checkbox values for each device come from. Anyone already has more information on that?
Possibly related: the --type option doesn't work with profiles:manage:devices:* either, as it reports '--type' as an unsupported option. This breaks the ability to add/remove devices from distribution profiles, which include Ad Hoc profiles required for services like TestFlight.
The 'custom identifier' that serves as the value for each checkbox when adding devices to a provisioning profile can be retrieved by a call to 'listDevices.action'. The JSON returned from that call is a list of devices and each device has a 'deviceId' key whose value is the value of the checkbox.
Fixed by #87. Thanks again, @chach17!