Nunca he intentado usar D3.js (librería de JavaScript) en iOS, pero lo he usado mucho en web, así que intentaré responder a esta pregunta.
Cuando dices iOS, supongo que te refieres a usarlo en una aplicación nativa, en lugar de en un navegador móvil. Las aplicaciones nativas están escritas en Objective-C (¿o Swift?) en lugar de JavaScript, por lo que no podrías utilizar D3.js directamente. Sin embargo, podrías utilizar una UIWebView que apunte a una página web que hayas creado con el contenido que quieras renderizar con D3.js (librería JavaScript). Esto se encuentra con los mismos problemas que la web móvil, que desde mis experiencias anteriores se reducen a:
- Pantalla más pequeña. Muchas visualizaciones son bastante complejas y grandes y se prestan a pantallas más grandes. Esto se agrava especialmente cuando varias visualizaciones interactúan y se afectan entre sí.
- Menos potencia de cálculo. No me he puesto al día con las especificaciones recientes del iPhone/iPad, pero suelen tener menos rendimiento que los ordenadores de sobremesa. Esto significa que algunas cosas que se ven bien en un portátil o en un ordenador de sobremesa son lentas en un teléfono. Especialmente si la visualización tiene transiciones, o reacciona al desplazamiento.
El único salvador potencial es React Native. La última vez que hablamos, Miles McCrocklin estaba haciendo cosas realmente interesantes usando D3 con React Native, que está en JavaScript y compila a la aplicación nativa de iOS.