¿Por qué Xcode solo se usa en una Mac?

Esta es una buena pregunta, y me temo que no hay una gran respuesta, aparte de “porque Apple quiere que compres una Mac”. Podría hacer la misma pregunta sobre Visual Studio, aunque ahora existe Visual Studio Code, que es un intento de llevar la funcionalidad VS a otras plataformas.

Tanto XCode como Visual Studio son IDEs, pero también representan una cadena de herramientas completa de aplicaciones hechas para construir aplicaciones nativas en sus respectivas plataformas, Mac y Windows. Hay muchas razones por las que sería difícil “portar” cualquiera de los programas a su sistema operativo alternativo, pero la razón principal por la que esto no se hace es que no podrá probar su aplicación en su entorno nativo. Al escribir una aplicación Mac en XCode en Windows, aún necesitará probar su aplicación en una Mac para asegurarse de que funciona correctamente, y viceversa.

Esta es una distinción menos clara hoy en día cuando puedes usar ambos IDEs para hacer aplicaciones móviles, y mucho más en el caso de Visual Studio. En resumen, las herramientas están construidas alrededor del sistema operativo, y se necesitaría una gran cantidad de trabajo para que funcionen en otro sistema operativo.

Probablemente porque el soporte para Windows requeriría mucho más trabajo, Mac OS X e iOS tienen mucho en común, Windows no, objetivo-c, la API y Xcode tendrían que ser portados a Windows, para que pueda ejecutar Xcode y el simulador de iOS.