2011-10-30 11 views
5

Esto es probablemente una posibilidad remota, pero no hace falta preguntar ...
¿Crees que es posible obtener la dirección IP del host de compilación para iOS en Objective-C bajo xcode?
Sería útil para mi prueba si fuera posible.
Por ejemplo:¿Es posible obtener la dirección IP local desde un preprocesador DEFINE en Objective-C?

NSString* backendUrl = [NSString stringWithFormat:@"http://%@:5000/", HOST_IP]; 

Cuando yo esperaría HOST_IP (si había algo por el estilo) a ser algo como esto, pero por supuesto controlada automáticamente en tiempo de compilación para sostener la IP correcta:

#define HOST_IP @"172.76.77.5" 

Respuesta

3

No hay una solución conveniente, pero aquí hay algunas opciones a considerar.

  1. En su #define, escriba nombre de host de su ordenador (si está en una LAN) - http://mylaptop:5000/ o simplemente regístrese en un dominio gratis @http://www.no-ip.com/

  2. Si es necesario disponer específicamente una #defina la macro que contiene tu dirección IP, simplemente puedes escribir un pequeño script bash que actualice la IP definida en tu archivo .m/.cpp/.h o lo que sea que contenga este #define. , luego puede agregar el script como una fase previa a la construcción, o simplemente ejecutar el script cuando sabe que la dirección IP ha cambiado. aunque admito que es un poco hackish.

+0

Buenas ideas: la opción # 2 suena bien. – DouglasHeriot

+0

Su no. 2 sería mi solución. Poco hacky, pero no del todo mal. – joerick

0

No estoy seguro si esto funciona, pero tal vez podría hacer algo como

static NSString *HOST_IP; 

-(id)init 
{ 
    if (self = [super init]) 
    { 
     HOST_IP = // Your code 
    } 
    return self; 
} 

Algo así podría funcionar, pero no estoy seguro de lo que sucede cuando se suelta la clase.

+0

lo siento, esto no funcionaría. su método retendría la dirección IP si el dispositivo se está ejecutando. sin embargo, estaba pidiendo la dirección IP del servidor de compilación (que también es mi servidor de fondo de depuración) – Ran

Cuestiones relacionadas