che sto cercando di risolvere una NSNetService (denominato "My_Mac") per un IP in un'applicazione di fondo con questo codice:delegati NSNetService non essere chiamato
NSNetService *service = [[NSNetService alloc] initWithDomain:@"local." type:@"_daap._tcp" name:@"My_Mac"];
[service setDelegate:self];
[service resolveWithTimeout:5];
E nella stessa classe, non ho questi delegato metodi definiti:
- (void)netServiceDidResolveAddress:(NSNetService *)sender
- (void)netService:(NSNetService *)sender didNotResolve:(NSDictionary *)errorDict
ecco la parte strana: né metodi delegato vengono chiamati a meno che non corro una NSAlert dopo "[resolveWithTimeout servizio: 5];". Qualche idea?
Grazie per la risposta slf. Ho provato il codice NSRunLoop che avevi, ma nessun dado. Ho solo i metodi dato che ho come target 10.5 che non ha il protocollo formale NSServiceDelegate definito. –
slf: hai ragione - Ho disattivato GC per assicurarmi che l'oggetto fosse ancora lì e che i delegati siano stati chiamati. Ora devo solo rintracciare dove è stato autorizzato automaticamente, poiché ho esplicitamente provato a mantenerlo, e questo non ha funzionato. Grazie per avermi indicato nella giusta direzione! –
la soluzione a problemi apparentemente complessi è in genere più semplice di quanto si pensi :) – slf