Qué desastre!!!
Después de perder 4 horas buscando maneras alternativas para que funcionara, he descubierto porqué no andaba en el iphone
Resulta que le ponía el evento onclick en el body en vez de en el div, así que evidentemente el iphone no podía hacer click en ningún lado. Menuda pifia.
Una vez corregido y puesto el onclick en el propio div que quería ocultar, éste funciona perfectamente.
Un saludo.