que estoy tratando de resolver un NSNetService (llamado "My_Mac") a una IP en una aplicación de fondo con este código:delegados NSNetService no ser llamado
NSNetService *service = [[NSNetService alloc] initWithDomain:@"local." type:@"_daap._tcp" name:@"My_Mac"];
[service setDelegate:self];
[service resolveWithTimeout:5];
Y en la misma clase, tengo estos delegado los métodos definidos:
- (void)netServiceDidResolveAddress:(NSNetService *)sender
- (void)netService:(NSNetService *)sender didNotResolve:(NSDictionary *)errorDict
Aquí es la parte extraña: ni los métodos de delegado consiguen llamados a no ser que corro un NSAlert después de "[resolveWithTimeout servicio: 5];". ¿Algunas ideas?
Gracias por la respuesta slf. Probé el código NSRunLoop que tenías, pero no los dados. Acabo de tener los métodos, ya que estoy apuntando a 10.5, que no tiene definido el protocolo formal NSServiceDelegate. –
slf: tiene razón: apagué el GC para asegurarme de que el objeto aún estaba allí y se llamó a los delegados. Ahora solo tengo que rastrear dónde está siendo lanzado automáticamente, ya que he intentado retenerlo explícitamente, y eso no funcionó. ¡Gracias por señalarme en la dirección correcta! –
la solución a problemas aparentemente complejos suele ser más simple de lo que piensas :) – slf