How can I show a single block only if the user is on iOS?
My dull ax dealing with this same issue boils down to a little module helper function along the lines of:

function _MODULE_is_iOS() {
  if (strpos($_SERVER['HTTP_USER_AGENT'],'iPad')  !== FALSE || 
      strpos($_SERVER['HTTP_USER_AGENT'],'iPhone')!== FALSE || 
      strpos($_SERVER['HTTP_USER_AGENT'],'iPod')  !== FALSE) {
    return TRUE;
  } else {
    return FALSE;
  }
}


and then using that within my block hooks, eg,

if (_MODULE_is_iOS()) {
   $block['content']= // whatever I need for iOS
}


or from within the Block Admin PHP visibility area if in a pinch.