For those on a jailbroken iPhone, firewallIP[1] is the best way to control apps' access to the network. Every time a network connection is requested, you get a system popup that controls access to individual destinations, wildcards, whatever.
As long as there's nothing equivalent for Android (after Whispercore was shelved), I'm stuck on IOS.