Arduino Micro draws too much power from iPhone. How can I change that?
The power consumption is part of the exchange with the PC when it is plugged in. You can change that. Find the file USBCore.h in your Arduino install directory. In my case (under Linux) it was:

./hardware/arduino/avr/cores/arduino/USBCore.h


Inside that file, at around line 269 (depending on the distribution) you should see these lines:

#define D_CONFIG(_totalLength,_interfaces) \
    { 9, 2, _totalLength,_interfaces, 1, 0, USB_CONFIG_BUS_POWERED | USB_CONFIG_REMOTE_WAKEUP, USB_CONFIG_POWER_MA(500) }


On the right of the second line is the requested power consumption in milliamps (currently 500). Change that to (say) 100:

That is, change USB_CONFIG_POWER_MA(500) to USB_CONFIG_POWER_MA(100).

Save and recompile.

You may find that the bootloader initially requests 500 mA even with this change (as it initially runs the bootloader). However when the sketch starts it should re-establish a USB connection and only request 100 mA. To fix that you would need to recompile the bootloader with the same fix, and reinstall it, a somewhat more complex task.

Another possible approach would be to tweak the fuses so that it doesn't run the bootloader, if you have finished debugging your code. Only do that if you are confident with playing with the fuses.